由于某种原因,我的module.exports
没有按预期导出数据库模块。我是一个相当新的节点,所以不知道是什么问题。
文件database.js
import Sequelize from 'sequelize'
const db = {}
const sequelize = new Sequelize('', '', '', {
host: 'localhost',
port: '8006',
dialect: 'mysql',
define: {
freezeTableName: true,
},
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000,
},
operatorsAliases: false,
})
let models = [
import('./db/orders.js'),
]
models.forEach(model => {
const seqModel = model(sequelize, Sequelize)
db[seqModel.name] = seqModel
})
Object.keys(db).forEach(key => {
if ('associate' in db[key]) {
db[key].associate(db)
}
})
db.sequelize = sequelize
db.Sequelize = Sequelize
export default db
app.js
中的import
import db from './database';
错误Cannot find module '/var/www/html/orders-service/database' imported from /var/www/html/orders-service/app.js Did you mean to import ../database.js?
app.js
和database.js
在同一个文件夹中
尝试将.js文件扩展名添加到文件路径中,就像错误日志中建议的那样:
import db from './database.js';
或者在启用实验模块es-module- specific -resolution
的情况下运行脚本node --experimental-modules --es-module-specifier-resolution=node app.js