CommonJs规范中require导入带路径和不带路径的区别

2019-07-30568次阅读node

require()里面的参数有两种写法,一种带路径一种不带路径。就像下面这样:

require('./module'); // 带相对路径
require('/module'); // 带绝对路径
require('module'); // 不带路径

这种不带路径的 require('module') 引入方式,可能是内置模块,也可能是第三方模块,内置模块优先查找,没有的话就是第三方模块了,它会先从当前目录的 node_modules 里面查找,没有的话就到父目录下的 node_modules 里面去找,如此向上追溯,直到根目录下的 node_modules 目录,要是还没有的话就会到全局里面去找,大概是这么一个搜索过程。

另外一种带路径的方式,就会沿着路径去找,如果没有找到则会尝试将当前目录作一个包来加载。此外,使用绝对路径的速度查找最快,当然了,node 也对路径查找做了缓存机制。

上一篇: css:not()排除多个类  下一篇: node模块包装时传递五个参数  

CommonJs规范中require导入带路径和不带路径的区别相关文章