gpt4 book ai didi

mysql - 检查对象是否存在时, Node Sequelize 抛出未定义的错误

转载 作者:行者123 更新时间:2023-12-03 22:27:44 26 4
gpt4 key购买 nike

好的,所以这要么很奇怪,要么我不明白正在发生的事情。我正在尝试在 node.js 中加载 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

据我所知,该行是为了查看这是否甚至返回任何内容,所以我不明白为什么会抛出该错误?

更新

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

最佳答案

经过 3 天的错误挣扎,今天我找到了解决方案。

我是怎么解决的?

我使用 JS trim() 函数来删除空格。

例如

  process.env.NODE_ENV === "development"   // return false

why ?

"development " === "development" // return false because of extra space

process.env.NODE_ENV.trim() === "development" //return true



这是我的 solution

关于mysql - 检查对象是否存在时, Node Sequelize 抛出未定义的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50176523/

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