gpt4 book ai didi

javascript - 在 Nodejs 中导出对象时,值未定义

转载 作者:太空宇宙 更新时间:2023-11-03 22:33:40 24 4
gpt4 key购买 nike

在我的 app.js 文件中,我正在导出一个具有属性和值的对象。在路线上,我包含了该文件,但我得到的值是未定义的。如果我不在 createUser 函数中传入参数“users”,它将返回未定义的值。如果我传入参数,服务器就会崩溃并表示无法获取未定义的 .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;

最佳答案

  var users = {
id : 1,
room : 0
};
exports.users = users;

纯粹的好奇心,但是如果你这样尝试会发生什么?

<小时/>

绕过你的问题

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,因此您可以使用“user”模块创建它。

users.id = users.id + 1;  

它总是会按照你想要的方式递增!

关于javascript - 在 Nodejs 中导出对象时,值未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33190133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com