npm 包管理工具
什么是npm?npm 是 nodejs 的包管理和分发工具。它可以让 javascript 开发者能够更加轻松的共享代码和共用代码片段,并且通过 npm 管理你分享的代码也很方便快捷和简单。
一、安装包
npm 的安装方法就不说了,安装一个npm的包通过如下命令:
npm install package-name
这时该目录下会多了 node_modules 并且里面多了下载的包名文件夹。 如果需要指定版本下载,只需要在包后面添加@版本号就可以了,例:
npm install angular@1.3.0
二、用 package.json 文件管理包
我们的包一般是放到项目文件夹中的,那如何管理我们下载的包呢?使用 package.json 文件。首先:
npm init
使用上方命令初始化一个文件,之后会出现需要添加的文件内容配置信息,可以先都回车默认创建一个。创建之后可以在项目文件夹跟目录看到 package.json 文件。
那如何在安装包的时候将依赖的包直接配置在 package.json 里面,比如:
npm install –save angular
这样在配置文件中会多个 dependencies 键值对字段,里面已经显示出包的版本。
三、 package.json 的内容属性
这里选取了该配置是文件初始化的一些属性,并不做具体的使用规则,主要用来说明是干嘛用的。具体怎么用百度上面太多了。这里只介绍默认创建的该文件的属性都是干什么的。
- name 与 version
name 与 version 是两个必须要有的属性,否则模块无法被安装。模块中内容变更的同时,模块版本也应该一起变化。
- description
一个描述,方便别人了解你的模块作用,搜索的时候也有用。
- keywords
一个字符串数组,方便别人搜索到本模块。
- main
main属性指定了程序的主入口文件,应该指向模块根目录下的一个文件。
- directories
目前这个配置可能没有什么用,默认的话里面可能 test 字段,用来指向 test 目录
- scripts
scripts属性是一个对象,里边指定了项目的生命周期个各个环节需要执行的命令。key是生命周期中的事件,value是要执行的命令。
- author
看单词也知道是干嘛呢。就是一个码农
- license
为模块制定一个协议,让用户知道他们有何权限来使用你的模块,以及使用该模块有哪些限制。可以在https://spdx.org/licenses/这个地址查阅协议列表 。
- dependencies
是一个对象,配置模块依赖的模块列表,key是模块名称,value是版本范围。也就是上面说的安装时使用 –save 会自动将包信息添加到这。
- private
如果这个属性被设置为true,npm将拒绝发布它,这是为了防止一个私有模块被无意间发布出去。当然如果配置文件未设置 repository 属性,安装包时会出现提示信息,则加上这个属性,便不会出现提示。
1 条评论发表在 “npm 包管理工具初涉”
简简单单就是美。