nodejs 对 npm 支持非常良好
当使用 nodejs 导入模块时,如果模块路径不是以 **./**
或 **../ **
开头,则 node 会认为导入的模块来自于 node_modules 目录,例如:
var $ = require("jquery");
它首先会从当前目录的以下位置寻找文件
node_modules/lodash.js
node_modules/lodash/入口文件
若当前目录没有这样的文件,则会回溯到上级目录按照同样的方式查找
如果到顶级目录都无法找到文件,则抛出错误
上面提到的入口文件按照以下规则确定
查看导入包的 package.json 文件,读取 main 字段作为入口文件
若不包含main字段,则使用 index.js 作为入口文件
入口文件的规则同样适用于自己工程中的模块 在 node 中,还可以手动指定路径来导入相应的文件,这种情况比较少见