jshint es6 const if else 块错误

jshint es6 const if else block errors

使用此代码:

const db        = {};
if (config.use_env_variable) {
  const sequelize = new Sequelize(process.env[config.use_env_variable]);
} else {
  const sequelize = new Sequelize(config.database, config.username, config.password, config);
}
db.sequelize = sequelize;

我遇到了错误

'sequelize' is not defined

有没有办法使用 const 并避免诸如解决方法之类的问题?

喜欢

let sequelize;
if (config.use_env_variable) {
   sequelize = new Sequelize(process.env[config.use_env_variable]);
} else {
   sequelize = new Sequelize(config.database, config.username, config.password, config);
}

您可以重构代码以使用函数创建实际对象,就像这样

function SequelizeFactory(config) {
  if (config.use_env_variable) {
    return new Sequelize(process.env[config.use_env_variable]);
  } else {
    return new Sequelize(config.database,
                         config.username,
                         config.password,
                         config);
  }
}

然后将调用函数的结果赋值给sequelize.

const sequelize = SequelizeFactory(config);