【发布时间】:2022-12-05 23:52:38
【问题描述】:
这是基于 my previous question 但更简单,因为我发现问题是因为我对 module.exports 做错了什么。我试图弄清楚为什么每当我使用我在另一个文件中创建的模型的任何函数时都会收到 TypeError。我有这个测试代码:
索引.js:
const { Test } = require('./model.js');
(async () => {
const test = await Test.create({ name: 'test', desc: 'hello world' });
console.log(test.name);
})();
db-init.js(手动运行):
const { Sequelize, DataTypes } = require('sequelize');
const db = new Sequelize({
dialect: 'sqlite',
storage: './database.sqlite',
});
require('./model.js')(db, DataTypes);
db.sync({ force: true }).then(async () => {
console.log('db connected');
}).catch(console.error);
模型.js:
module.exports = (db, DataTypes) => {
return db.define('test', {
name: DataTypes.STRING,
desc: DataTypes.TEXT,
});
}
代码应该打印“hello world”,但我得到的是TypeError: Cannot read properties of undefined (reading 'create')。对不起,如果这个问题措辞不当。
【问题讨论】:
标签: javascript node.js sequelize.js typeerror