nodejs中,require自身,如果自身并未完全初始化,此时require的值和自身是不相等的
如下事例:
index.js
function Main(){
var a = require('./index');
console.log(a === this); //false
}
var main = new Main();
module.exports = main;
如果延迟加载,则相等
index.js
function Main(){
}
var main = new Main();
setTimeout(function(){
var a = require('./index');
console.log(a === this); //true
});
module.exports = main;
这个和npm的require机制有关。
待续。