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字段
main字段
scripts字段
engins字段
软件包指定的node版本的范围。
//node版本>=10.13.0
"engines": {
"node": ">=10.13.0"
}