Javascript 快线及;多个文件中需要相同的对象
我制作了一个web应用程序,其中所有服务器端都位于同一个文件中。 要明确的是,在我的“app.js”中,我有:Javascript 快线及;多个文件中需要相同的对象,javascript,node.js,express,Javascript,Node.js,Express,我制作了一个web应用程序,其中所有服务器端都位于同一个文件中。 要明确的是,在我的“app.js”中,我有: 快线 Socket.io事件及更多 不同的对象对页面事件作出反应 我想重做那个项目,把事情做好,我开始这样做。我已经把我的路线放在不同的js文件中,比如login.js、subscribe.js等等。。。在路由目录中 在我的app.js中,我添加了一行:require('./routes')(app) 我在/routes中有一个index.js文件,我把我的“快速路由器”放在那里,
- 快线
- Socket.io事件及更多
- 不同的对象对页面事件作出反应
require('./routes')(app)代码>
我在/routes中有一个index.js文件,我把我的“快速路由器”放在那里,它管理着我所有的路由
index.js
这是处理路线的正确方法吗
我遇到的问题是,我有一个名为usersConnected{}
的对象,当一个成员登录时,我用一些属性填充它,等等。。。
这个对象在我的app.js文件中,我无法从其他文件(如login.js)访问它
app.js
login.js
usersConnected
// If login and password matches with couple in database
usersConnected[login] = {
games: rows[0].games,
kills: rows[0].kills,
deaths: rows[0].deaths,
statut: "ACCUEIL",
adversaire: "NULL",
socket: "NULL",
wsId: "NULL",
room: "NULL",
lsid: funcs.computeRandomLsId(64)
};
以及我如何导出“路线管理”
我有一些想法,但我认为这是一种不好的方式,比如将我的对象导出到我需要的地方,或者将我的对象单独放在一个将被导入的.js文件中,等等
如果你能给我一些线索,这对我真的很有帮助
编辑:我认为我的问题在于我管理会话的方式,因为usersConnected
包含所有已连接用户的所有信息。。。也许我应该使用express会话
?我建议您看看express生成器:。它为您提供了一个非常好的文件结构。尽管它相当固执己见,但我发现它在我开始时非常有用,现在仍然如此
在app.js文件中,您会发现如下内容:
...
var routes = require('./routes/index');
app.use('/', routes);
如果你有很多路线,这就有点乏味了。这里有一个代码片段,可以通过友好的方式实现这一点
无论如何,关键是快速发电机将帮助您消除疑虑,并为您指明正确的方向
// If login and password matches with couple in database
usersConnected[login] = {
games: rows[0].games,
kills: rows[0].kills,
deaths: rows[0].deaths,
statut: "ACCUEIL",
adversaire: "NULL",
socket: "NULL",
wsId: "NULL",
room: "NULL",
lsid: funcs.computeRandomLsId(64)
};
exports.get = (req, res) => {
if (!req.session.login)
...
}
...
var routes = require('./routes/index');
app.use('/', routes);