尝试在我的路由器文件中要求并使用模块。我设法要求它(我认为),但现在它说以下错误:NodeJs:参考错误:(我自己的var)未定义
ReferenceError: USERS is not defined at c:\work\nodejs\router\main.js:32:19 at Layer.handle [as handle_request] (c:\work\nodejs\node_modules\express\lib\router\layer.js:82:5) at next (c:\work\nodejs\node_modules\express\lib\router\route.js:110:13) at Route.dispatch (c:\work\nodejs\node_modules\express\lib\router\route.js:91:3) at Layer.handle [as handle_request] (c:\work\nodejs\node_modules\express\lib\router\layer.js:82:5) at c:\work\nodejs\node_modules\express\lib\router\index.js:267:22 at Function.proto.process_params (c:\work\nodejs\node_modules\express\lib\router\index.js:321:12) at next (c:\work\nodejs\node_modules\express\lib\router\index.js:261:10) at c:\work\nodejs\node_modules\body-parser\lib\read.js:111:5 at IncomingMessage.onEnd (c:\work\nodejs\node_modules\body-parser\node_modules\raw-body\index.js:136:7)
,用户被包含对象的数组对象如下:
//users.js
module.exports = function() {
// Create User prototype and objects
var USERS = { users: [] };
function User(type, useremail, password) {
this.type = type;
this.useremail = useremail;
this.password = password;
}
var Bob = new User("rep", "[email protected]", "qwerty");
USERS.users.push(Bob);
var Helen = new User("rep", "[email protected]", "test");
USERS.users.push(Helen);
var Dominic = new User("customer", "[email protected]", "1234");
USERS.users.push(Dominic);
var James = new User("grower", "[email protected]", "pass1");
USERS.users.push(James);
};
我路由器代码:
var url = require('url'); var users = require('./router/users.js');
module.exports = function (app) {
app.get('/', function (req, res) {
res.render('index.html');
console.log("Home page displayed");
});
app.get('/login', function (req, res) {
res.render('login.html');
console.log("Log in page displayed");
});
app.get('/api/orders/:id', function (req, res) {
console.log(req.params.id);
res.json(ORDER.orders[req.params.id]);
});
app.get('/api/orders/', function (req, res) {
console.log(ORDER);
res.json(ORDER);
}); app.get('/api/users/:id', function (req, res) {
console.log(req.params.id);
res.json(USERS.users[req.params.id]);
});
app.get('/api/users/', function (req, res) {
console.log(USERS);
res.json(USERS);
});
我如何在这种情况下在我的路由器中正确引用USERS?
你将不得不出口'模块中或从外部引用它的功能USERS'。 – Sirko 2015-02-23 08:25:29
您无法出口'USERS' – 2015-02-23 08:34:28
@AvraamMavridis我该怎么做?我试过把module.exports = function(USERS){}放在它的周围,以及module.exports = USERS;在底部 – hturner 2015-02-23 08:48:15