npm

3/21/2022 工程化

# 介绍下 npm 模块安装机制,为什么输入 npm install 就可以自动安装对应的模块?

查看答案
  • 发出 npm install 命令
  • 查询 node_modules 目录之中是否已经存在指定模块
  • 若存在,不再重新安装
  • 若不存在 npm 向 registry 查询模块压缩包的网址下载压缩包,存放在根目录下的.npm 目录里
  • 再解压压缩包到当前项目的 node_modules 目录

# 介绍模块化发展历程 TODO

查看答案

可从 IIFE、AMD、CMD、CommonJS、UMD、webpack(require.ensure)、ES Module这几个角度考虑。

CMD (Common Module Definition), 是sea.js在推广过程中对模块定义的规范化产出,主要用于浏览器端。它主要特点是:对于依赖的模块是延迟执行,依赖可以就近书写,等到需要用这个依赖的时候再引入这个依赖,应用有sea.js.

AMD规范(Asynchronous Module Definition):是 RequireJS 在推广过程中对模块定义的规范化产出,也是主要用于浏览器端。其特点是:依赖前置,需要在定义时就写好需要的依赖,提前执行依赖,应用有require.js AMD 定义一个模块的方法是 define(id?, dependencies?, factory)。

更新时间: 2022-03-31 02:04