0
我一直在玩nodejs几个月,但从昨天晚上它表现出有趣的表演。require()不能在module.exports里面工作
这是一个愚蠢的问题,可以用一个例子来更好地解释。
这是我的代码:
FILE-A:
var Q = require('q');
var user = require('../p/user');
module.exports = {
test: function() {
console.log("*****************************************");
console.log(user);
console.log(require('../p/user'));
console.log("*****************************************");
}
};
和文件B:
var fileA = require('../fileA');
var Q = require('q');
fileA.test();
很简单!问题是导入到FILE-A的“用户”是空的!这是输出:
*****************************************
{}
{ get: [Function],
update: [Function],
getProfilePicture: [Function] }
*****************************************
正如你可以看到,如果我直接调用的代码需要(),一切都很好!
我觉得愚蠢的原因显然是我的错,但我找不到解决方案。你有什么想法可以导致这个问题?
非常感谢!
UPDATE:这是../p/user文件
/************************************
*
***********************************/
var Q = require('q');
var cassandra = require('../../db/cassandra');
var dateManager = require('../../commons/DateManager');
var db = "test";
var table = "user";
module.exports = {
...
};
显示您的user.js文件。可能在第一次通话后初始化? –
希望这有助于我看不到任何错误! '/ ************************************ * * ******* ***************************/ var Q = require('q'); var cassandra = require('../../ db/cassandra'); var dateManager = require('../../ commons/DateManager'); var db =“test”; var table =“user”; module.exports = {\t }; ' – Mark
奇怪。你可以在''var user = require('../ p/user');'in fileA'后面加入'console.log(user);' – keithmo