官方文档参考 http://nodejs.cn/api/modules.html#modules_loading_from_node_modules_folders
exports 只支持严格模式
module查找顺序:
1. core module
Node.js has several modules compiled into the binary,自定义同名模块会被node核心模块覆盖
2. file module
先查找同名module文件,没找到就自动加上后缀.js .json .node扩展名,为加快查找效率如果不是.js后缀可以加上后缀
3. floder module
上面的文件没有找到的话,会查找node_modules下的同名目录,查找目录下的package.json文件
{
"main": "lib/main.js",
"module": "es/main.js"
}
package.json中main 指定文件, module 指向es6中export的对应文件
没有package.json文件的话会查找默认的index.js文件
加载完进行缓存,之后的相同模块从缓存内读取不会重新加载,修改模块内容会对其他地方的模块引用造成影响。