节点检查是否存在对象时会抛出未定义的错误
好,所以这很奇怪,或者我不了解正在发生的事情。我正在尝试在节点中加载sequelize库。
当尝试连接时,我正在使用CLI生成的index.js文件,但此行:
if (config.use_env_variable) {
console.log('i ran');
var sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
var sequelize = new Sequelize(config.db.database, config.db.username, config.db.password, {
dialect:config.db.dialect});
}
给我这个错误:
Cannot read property 'use_env_variable' of undefined
据我所知,该行旨在查看它是否还返回任何内容,所以我不明白为什么这会引发该错误?
UPDATE
config在其上方的一行中被调用,到目前为止,整个文件为:
'use strict';
var fs = require('fs');
var path = require('path');
var Sequelize = require('sequelize');
var basename = path.basename(__filename);
const config = require(path.join(__dirname,'../config/config.js'));
const db = {};
console.log(config);
if (config.use_env_variable) {
console.log('i ran');
var sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
var sequelize = new Sequelize(config.db.database, config.db.username, config.db.password, {
dialect:config.db.dialect});
}
[UPDATE在工作版本上添加了配置的console.log
回答如下:似乎您没有config/config.json
文件或路径不正确。在model/index.js
中,您将有以下行
let config = require(`${__dirname}/../../config/config.json`)[env];
或类似的东西。确保此路径是正确的路径
节点检查是否存在对象时会抛出未定义的错误
好,所以这很奇怪,或者我不了解正在发生的事情。我正在尝试在节点中加载sequelize库。
当尝试连接时,我正在使用CLI生成的index.js文件,但此行:
if (config.use_env_variable) {
console.log('i ran');
var sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
var sequelize = new Sequelize(config.db.database, config.db.username, config.db.password, {
dialect:config.db.dialect});
}
给我这个错误:
Cannot read property 'use_env_variable' of undefined
据我所知,该行旨在查看它是否还返回任何内容,所以我不明白为什么这会引发该错误?
UPDATE
config在其上方的一行中被调用,到目前为止,整个文件为:
'use strict';
var fs = require('fs');
var path = require('path');
var Sequelize = require('sequelize');
var basename = path.basename(__filename);
const config = require(path.join(__dirname,'../config/config.js'));
const db = {};
console.log(config);
if (config.use_env_variable) {
console.log('i ran');
var sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
var sequelize = new Sequelize(config.db.database, config.db.username, config.db.password, {
dialect:config.db.dialect});
}
[UPDATE在工作版本上添加了配置的console.log
回答如下:似乎您没有config/config.json
文件或路径不正确。在model/index.js
中,您将有以下行
let config = require(`${__dirname}/../../config/config.json`)[env];
或类似的东西。确保此路径是正确的路径