Know Package and npm
npm是JavaScript的一个包管理器,默认是跟Node捆绑在一起的。
Note
Is "npm" an acronym for "Node Package Manager"?
Contrary to popular belief, npm is not in fact an acronym for "Node Package Manager"; It is a recursive bacronymic abbreviation for "npm is not an acronym" (if the project was named "ninaa", then it would be an acronym). The precursor to npm was actually a bash utility named "pm", which was the shortform name of "pkgmakeinst" - a bash function that installed various things on various platforms. If npm were to ever have been considered an acronym, it would be as "node pm" or, potentially "new pm".
术语
- npm registry: 存放的包的仓库
- package: package是由
package.json
文件描述的一个文件或者目录,一个package必须包含一个package.json
文件,这样才能发布到npm registry中。
what is package
package是由package.json
文件描述的一个文件或者目录,一个package必须包含一个package.json
文件,这样才能发布到npm registry中。
一个package.json
文件:
- 列出您的项目所依赖的软件包
- 指定您的项目可以使用语义版本规则使用的软件包版本
- 使您的构建可重现,因此更容易与其他开发人员共享
一个package.json
文件必须包含name
字段和version
字段。
name
字段包含您的软件包的名称,必须是小写和一个单词,并且可能包含连字符和下划线。
version
字段必须以x.x.x的形式,并遵循语义版本指南。
查找真实的package
查找包通过其名称
unpkg.com/:package@:version/:file
cdn.jsdelivr.net/npm/:package/
cdn.jsdelivr.net/npm/:package@:version/
可以使用下面命令可以查看包或者其信息
npm docs react // 查看包的官方文档npm view react // 查看包的基本信息npm repo react // 查看包的git仓库地址npm unstar react // 移除已经start的git仓库
package主要有以下内容:
- semver version: 语义化版本
- dependencies: 依赖
- engines: 指定Node的版本
- script: 指定npm的执行脚本