当使用sequlize连接数据库时,我创建一个Sequlize对象,如下所示:
sequelize = new Sequelize(settings),
我需要在我的应用程序中的不同模块中使用sequlize对象。例如在app.js中建立连接和models.js,我在哪里创建我的模型
为了避免传递参数,我想在我需要的不同模型中创建新的sequlize对象。这可以吗?
答案 0 :(得分:2)
我认为这不会有效(好)。相反,您可以做的是将实例的创建移动到模块,并在需要访问它时使用该模块:
// database.js
var sequelize = require('sequelize');
var settings = ...;
module.exports = new Sequelize(settings);
// app.js
var sequelize = require('./database');
...
// models.js
var sequelize = require('./database');
...
由于缓存了对require
的调用,因此将在您的文件中共享相同的对象。