为什么会出现此错误TypeError:无法读取未定义的属性“ client”

时间:2019-02-28 10:21:34

标签: javascript mysql node.js database knex.js

if (arguments.length === 0 || !config.client && !config.dialect) {
                                    ^
  

TypeError:无法读取未定义的属性“ client”

为什么会出现此错误?

2 个答案:

答案 0 :(得分:1)

config变量是undefined。在读取config.clientconfig.dialect

的值之前,应先检查一下
if (arguments.length === 0 || (config && !config.client && !config.dialect))

请记住,如果config为undefined,则OR子句中正确表达式的求值为假

答案 1 :(得分:0)

我也遇到了这个问题。在我的代码中,我通过以下方式初始化knex。

const knex = require('knex')(process.env.DATABASE_URL)

当我检查process.env.DATABASE_URL的值时,我发现它的值不确定。一旦我解决了,错误就消失了! (就我而言,我的.env文件放在错误的位置)