如何理解require module.exports
发布于 7 年前 作者 heqs 3346 次浏览 来自 问答

data.js

function Data(data){
    console.log("init a new Data()");
    this.name = data.name;
    this.id = data.id;
}

module.exports = {
    player: new Data({id:1,name:'xxx'})
    }
}

a.js

require('data')//这里就直接输出init a new Data()

接着在执行b.js

require('data')//现在没有输出init a new Data()

如何理解这个机制,module.exports只有第一次被require的时候回去初始化数据,以后被缓存了直接拿来用?

1 回复

这么理解没问题。
需要深入理解的话看源码吧 https://github.com/nodejs/node/blob/master/lib/module.js

回到顶部