使用require来加载文件时可以省略扩展名。比如require('./module')
,则对应的加载顺序为,
- 按js文件来执行(先找对应路径当中的
module.js
文件来加载) - 按json文件来解析(若上面的js文件找不到时,则找对应路径当中的
module.json
文件来加载) - 按照预编译好的c++模块来执行(寻找对应路径当中的
module.node
文件来加载) - 若参数字符串为一个目录(文件夹)的路径,则自动先查找该文件夹下的
package.json
文件,然后再再加载该文件当中main字段所指定的入口文件。(若package.json
文件当中没有main
字段,或者根本没有package.json
文件,则再默认查找该文件夹下的index.js
文件作为模块来载入。)
转载来源:https://segmentfault.com/a/1190000011331805