I have created a Model named 'Product' and the below code in there
const Sequelize = require('sequelize');
const sequelize = require('../util/database');
const Product = sequelize.define('product',{
id: {
type: Sequelize.INTEGER,
autoincrement: true,
allowNull: false,
primaryKey: true
},
title: Sequelize.STRING,
price: {
type: Sequelize.DOUBLE,
allowNull: false
},
imageUrl:{
type: Sequelize.STRING,
allowNull: true
},
description: {
type: Sequelize.STRING,
allowNull: true
}
});
exports.module = Product;
I am getting the below error
Product.create is not a function
If I replace exports.module = Product;
with module.exports = Product;
, It is working good.
Can anyone clarify what is the difference between the two
module.exports
is the property used to export values from a CommonJS module.
exports
is a shorthand for module.exports
.
exports.module
is the same as module.exports.module
which creates an value named module
on the exported object.
So if you have:
module.exports = Product;
Then you would match it with:
const Product = require('./myModule');
But if you have:
exports.module = Product;
Then you would:
const myModule = require('./myModule');
const Product = myModule.module;
exports.module
is, basically, a mistake and makes code confusing. Don't do that.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.