Node.js编写的程序,是通过一个名称为npm(node package manager)的包管理工具来管理的。npm的主要功能包括:安装、卸载、查看、搜索、发布等,npm极大地提高了我们的开发效率。
npm这个工具无需单独安装,在安装Node的时候自动安装npm。
使用npm安装程序
Node程序分为全局安装和本地安装两种模式,这两种安装模式的区别如下:
全局安装:Node程序(包)会被下载到特定的系统目录,这个程序(包)能够在任意目录下使用(也就是所有的Node程序都可以调用这个包)。
本地安装:Node程序会被下载到当前目录,这个程序也只能在当前目录所使用。
一般情况下,如果某个包是被特定项目所使用,那么就应该安装到本地;如果是通用包,或需要通过命令行使用,就应该安装到全局。
全局安装命令为:
npm install --global <package>
本地安装命令为:
npm install --save-dev <package>
使用npm查看/更新/卸载程序
查看包:npm ls <package>
更新包:npm update <package>
卸载包:npm uninstall <package>
可以通过官网文档查看npm所有的命令:
https://docs.npmjs.com/
package.json
每一个Node程序(包)都会有一个配置文件,这个文件就是package.json。一个典型的package.json文件内容如下:
{
"name": "request",
"description": "Simplified HTTP request client.",
"version": "2.79.0",
"author": "Mikeal Rogers <mikeal.rogers@gmail.com>",
"main": "index.js",
"devDependencies": {
"bluebird": "^3.2.1",
"browserify": "^13.0.1",
"browserify-istanbul": "^2.0.0",
"buffer-equal": "^1.0.0",
"codecov": "^1.0.1",
"coveralls": "^2.11.4",
"eslint": "^2.5.3",
"function-bind": "^1.0.2",
"istanbul": "^0.4.0",
"karma": "^1.1.1",
"karma-browserify": "^5.0.1",
"karma-cli": "^1.0.0",
"karma-coverage": "^1.0.0",
"karma-phantomjs-launcher": "^1.0.0",
"karma-tap": "^3.0.1",
"phantomjs-prebuilt": "^2.1.3",
"rimraf": "^2.2.8",
"server-destroy": "^1.0.1",
"tape": "^4.6.0",
"taper": "^0.5.0"
}
}
name: 包的名称
description: 描述信息
version: 当前版本
author: 程序作者
main: 程序的入口文件
devDependencies: 该程序依赖的外部模块,这些模块会在安装当前程序的时候自动安装
其中name和version是最重要的2个属性。
有关package.json的更多介绍,请参考:
https://docs.npmjs.com/files/package.json
作者:朱会震