jshint es6 const if else 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'没有被定义

有没有一种方法来使用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); } 

你可以重构你的代码来使用一个函数来创build实际的对象,就像这样

 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);