nodejs 对 npm 支持非常良好

  1. 当使用 nodejs 导入模块时,如果模块路径不是以 ./…/ 开头,则 node 会认为导入的模块来自于 node_modules 目录,例如:

    var _ = require("lodash");
    
  2. 它首先会从当前目录的以下位置寻找文件

    node_modules/lodash.js
    node_modules/lodash/入口文件
    
  3. 若当前目录没有这样的文件,则会回溯到上级目录按照同样的方式查找

  4. 如果到顶级目录都无法找到文件,则抛出错误

入口文件规则

  1. 查看导入包的 package.json 文件,读取 main 字段作为入口文件;

  2. 若不包含 main 字段,则使用 index.js 作为入口文件;

入口文件的规则同样适用于自己工程中的模块;

node 中,还可以手动指定路径来导入相应的文件,这种情况比较少见;

npm 缓存相关命令

# 清除缓存
npm cache clean -f

# 获取缓存位置
npm config get cache

# 设置缓存位置
npm config set cache "新的缓存路径"

面试题

解释一下 npm 模块安装机制是什么?

参考答案:

  1. npm 会检查本地的 node_modules 目录中是否已经安装过该模块,如果已经安装,则不再重新安装;
  2. npm 检查缓存中是否有相同的模块,如果有,直接从缓存中读取安装;
  3. 如果本地和缓存中均不存在,npm 会从 registry 指定的地址下载安装包,然后将其写入到本地的 node_modules 目录中,同时缓存起来;
打赏作者
您的打赏是我前进的动力
微信
支付宝
评论

中午好👏🏻,我是 ✍🏻   疯狂 codding 中...

粽子

这有关于前端开发的技术文档和你分享。

相信你可以在这里找到对你有用的知识和教程。

了解更多

目录

  1. 1. nodejs 对 npm 支持非常良好
  2. 2. 入口文件规则
  3. 3. npm 缓存相关命令
  4. 4. 面试题
    1. 4.1. 解释一下 npm 模块安装机制是什么?