npm

node package manager,node系统环境下的包管理工具。

package

语义package = package.json + js文件。package.json里面有模块的信息以及模块在npm仓库中的信息。
关键点package理解成有很多依赖项,可以发布的软件包。
关键点在npm注册的module就叫package。
关键点在应用程序的开发中,都是用package来工程化的管理项目。至于最终的发布版本需要打包工具,来转化。

module

语义在node环境下能够被require( )函数加载的文件,在浏览器环境下就是能够被import引入的文件。当然该文件必须是js文件。
关键点不是所有的module都是package,因为每个package中的文件必须包含package.json文件。

package.json

该文件的目的是为了将软件包发布到npm的注册表中提供必要的信息。

  • 方便的分享给其他开发者。
  • 在npm网站中提供的检索的字段。

    name字段

    如果你想发布你的软件包,name和version字段是必填的,这是软件包的唯一标识符。

    version字段

    作者发布软件包时,版本号的语义
1.0.0 第一次发布的版本号
1.0.1 修复bug
1.1.0 增加新特性,向后兼容。
2.1.0 重大变更,不会向后兼容。例如:新的API,使用老的API会出错。

用户引用软件包时,使用的版本号语义。

~1.0.4 波浪表示项目中依赖的软件包版本只能是最后一位改变,也就是修复bug。
^2.0.5 帽子表示项目中依赖的软件包版本只能是后两位可以改变,不能是版本重大变更。

description和keywords字段

为了在npm网站中检索软件包。

main字段

应用程序的入口。默认是根文件夹下的index.js文件。

scripts字段

支持软件包的内置脚本。

engins字段

软件包指定的node版本的范围。

  1. //node版本>=10.13.0
  2. "engines": {
  3. "node": ">=10.13.0"
  4. }