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