【发布时间】:2014-04-28 23:58:10
【问题描述】:
这是我的文件结构:
-models
-user.js
-room.js
-database.js
-controllers
-createRoom.js
-routes.js
..
user.js 和 room.js 是我想在 database.js 中导入的模块。现在我这样做:
在database.js中:
var mysql = require('mysql');
var Sequelize = require('sequelize');
var db = new Sequelize('test', 'root', 'root', {
dialect: "mysql",
port: 3306
})
var User = require('./user.js')(Sequelize, db);
var Room = require('./room.js')(Sequelize, db);
module.exports = function(){
//code...
};
在 user.js/room.js 中
module.exports = function (Sequelize, db) {
var Room = db.define('Room', {
room_id : {type: Sequelize.INTEGER, allowNull: false, autoIncrement: true, primaryKey: true},
})
db
.sync({force: true})
.complete(function (err) {})
到目前为止一切都很好,但是当我需要在 database.js 之外的其他文件中导入 user.js 或 room.js 时(例如 createRoom.js),我无法导入它们,因为没有像中定义的 Sequelize 和 db数据库.js。这是否意味着每当我需要在其他文件中使用 user.js 和 room.js 模块时,我必须连接到数据库并再次要求 Sequelize?有没有更好的方法来解决这个问题?谢谢!
【问题讨论】:
标签: node.js express module sequelize.js