gpt4 book ai didi

javascript - 在js中有条件地分配const值

转载 作者:行者123 更新时间:2023-12-03 22:36:28 25 4
gpt4 key购买 nike

我正在尝试根据应用程序是在本地运行还是在服务器上运行,为 sequelize 分配不同的值。这是我的代码:

    const sequelize = production
? sequelizeHeroku.connect(Sequelize)
: new Sequelize(database, user, password, {
host,
dialect: "mysql",
pool: {
max: 10,
min: 0,
acquire: 30000,
idle: 10000
}
});

这在本地不起作用,因为当我记录 sequelize 的值时,它是 false 。但是,如果我尝试像这样分配变量:
const sequelize = new Sequelize(database, user, password, {
host,
dialect: "mysql",
pool: {
max: 10,
min: 0,
acquire: 30000,
idle: 10000
}
});

它工作得很好。我还检查了 console.log(production == true) 打印出 false 。我究竟做错了什么?

最佳答案

最好使用 NODE_ENV 环境变量。例如。
index.ts :

import { Sequelize } from 'sequelize';
import assert from 'assert';

const database = 'sample';
const user = 'testuser';
const password = 'testpass';
const host = '127.0.0.1';

const sequelize =
process.env.NODE_ENV === 'production'
? 'sequelize heroku'
: new Sequelize(database, user, password, {
host,
dialect: 'mysql',
pool: {
max: 10,
min: 0,
acquire: 30000,
idle: 10000,
},
});

assert(process.env.NODE_ENV === 'production', 'NODE_ENV should be "production"');
assert(sequelize === 'sequelize heroku', 'Should use heroku sequelize in production environment');

production 环境中执行代码:

NODE_ENV=production npx ts-node ./index.ts

没有断言失败。它按预期工作。

关于javascript - 在js中有条件地分配const值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59695100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com