1.一般是要加./或者../
./表示从当前路径开始
../表示从上层鲁姆开始
2.开始不加./和../以及/的
规则是从当前node_modules 文件夹加载,如果找到了就停止,如果没有就查找上层目录的node_modules文件夹,只要找到或者查到根路径为止
比如, 如果当前文件是'/home/ry/projects/foo.js' 然后require('bar.js'), 那么node将会按照以下路径查找
- /home/ry/projects/node_modules/bar.js
- /home/ry/node_modules/bar.js
- /home/node_modules/bar.js
- /node_modules/bar.js
3.如果require的是文件夹的名字
规则是默认加载文件夹下面index.js或者index.node
但如果文件夹下面有配置文件package.json的话,会根据package.json配置
package.json的书写方法是
{ "name" : "some-library", "main" : "./lib/some-library.js" }
比如require("./some-library")
会加载./some-library/lib/some-library.js
然后nodejs的路径加载就是上面三个规则