Creé un modelo llamado 'Producto' y el siguiente código está allí
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;Estoy recibiendo el siguiente error
Product.create is not a function Si reemplazo exports.module = Product; con module.exports = Product; , Está funcionando bien.
¿Alguien puede aclarar cuál es la diferencia entre los dos?
module.exports es la propiedad utilizada para exportar valores desde un módulo CommonJS.
exports es una abreviatura de module.exports .
module.exports.module exports.module crea un valor llamado module en el objeto exportado.
Así que si tienes:
module.exports = Product;Entonces lo emparejarías con:
const Product = require('./myModule');Pero si tienes:
exports.module = Product;Entonces:
const myModule = require('./myModule'); const Product = myModule.module; exports.module es, básicamente, un error y hace que el código sea confuso. No hagas eso.