在我的app.js文件中,我要导出一个包含属性和值的对象。在路由上,我包含文件,但我得到的值是undefined。如果我没有通过论证"用户"在createUser函数中,它将值返回为undefined。如果我传入参数,服务器崩溃并说它无法获取未定义的.id。我的目标是在达到路径时将值增加1。
我的app.js文件:
exports.users = {
id : 1,
room : 0
};
var express = require('express');
var app = express();
var enter = require('./routes/enter');
var chat = require('./routes/chat');
var room = require('./routes/room');
var user = require('./routes/user');
var update = require('./routes/update');
app.use('/room', room);
app.use('/user', user);
app.use('/enter', enter);
app.use('/chat', chat);
app.use('/update', update);
app.use(express.static('public/dist'));
app.use(express.static('public/js'));
app.use(express.static('public/dist/images'));
app.use(express.static('bower_components'));
app.listen(1337);
我的用户文件:
var express = require('express');
var user = express.Router();
var room = require('./room.js');
var users = require('../app.js').users;
user.get('/', function(req, res) {
createUser();
res.send(users.id.toString());
});
function createUser(){
users.id = users.id + 1;
console.log(user.id + ' this is the user.id');
return users;
}
module.exports = user;
答案 0 :(得分:0)
var users = {
id : 1,
room : 0
};
exports.users = users;
简单的好奇心,但如果你这样做会发生什么?
ToPass your problem
var express = require('express');
var user = express.Router();
var room = require('./room.js');
//var users = require('../app.js').users;
var users = {
id : 1,
room : 0
};
user.get('/', function(req, res) {
createUser();
res.send(users.id.toString());
});
function createUser(){
users.id = users.id + 1;
console.log(user.id + ' this is the user.id');
return users;
}
module.exports = user;
此模块外部似乎不需要Users
,因此您可以使用“用户”模块创建它。
users.id = users.id + 1;
它总会像你想要的那样递增!