javascript - 类型错误 : Cannot read property 'database' of undefined

标签 javascript node.js sequelize.js

我有两个文件-config.js 和 index.js 我写的代码如下-

config.js-

module.exports={
    port:process.env.PORT || 8081,
    db:{
        database:process.env.DB_NAME|| 'tabtracker',
        user:process.env.DB_USER || 'tabtracker',
        password:process.env.DB_PASS|| 'tabtracker',
        options:{
            dialect:process.env.DIALECT ||'sqlite',
            host:process.env.HOST ||'localhost', 
            storage:'./tabtracker.sqlite'

        }
    }
}

index.js-

const fs=require('fs')
const path=require('path')
const Sequelize=require('sequelize')
const config=require('../config/config')
const db={}


const sequelize=new Sequelize(

    config.db.database,
    config.db.password,
    config.db.user,
    config.db.options
)


fs.readdirSync(__dirname)
 .filter((file)=>{
     file!=='index.js'
 }
 )
.forEach(file=>{
    const model=sequelize.import(path.join(__dirname,file));
    db[model.name]=model
})

db.sequelize=sequelize
db.Sequelize=Sequelize
module.exports=db

为什么会报错?我已经在 index.js 中正确导入了 config.js。我还正确地声明了配置文件。

最佳答案

const config=('../config/config') - 这里没有 require 关键字。所以config不是你的config,只是右边的一个字符串。因此访问 undefined 的属性,即 config.db

关于javascript - 类型错误 : Cannot read property 'database' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59227392/

相关文章:

javascript - 创建右键菜单后如何保留原来的复制粘贴功能?

node.js - 下一个 JS : Error: EPERM: operation not permitted, rmdir

node.js - Mongo 和 Handlebars

javascript - 如何将我的 Heroku 配置变量链接到 Node.js 应用程序

database - 如何在 Sequelize 查询中使用不包含

mysql - 如何获取用户信息而不仅仅是 ID Sequelize ?

javascript - 函数不返回值

javascript - 如何向现有用户添加新字段

javascript - 将箭头指向位置(地理位置)

javascript - 三个JS | Collada 装载机纹理