一、NPM 介绍
NPM是随同NodeJS一起安装的包管理工具,常见的使用场景有以下几种:
- 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
- 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
- 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
二、NPM安装
# 升级安装NMP
npm install npm -g
# 使用淘宝镜像的命令
npm install -g cnpm --registry=https://registry.npmmirror.com
# 查看版本
npm -v
三、使用 NPM 命令安装模块
# 使用 npm 命令安装常用的 Node.js web框架模块 express
# 本地安装
npm install express
# 安装好之后,express 包就放在了工程目录下(运行 npm 命令时所在的目录)的 node_modules 目录中,
# 可以通过 require() 来引入本地安装的包
var express = require('express');
# 全局安装
# 将安装包放在 /usr/local 下或者你 node 的安装目录
npm install express -g
# 如果出现以下错误
npm err! Error: connect ECONNREFUSED 127.0.0.1:8087
# 解决办法为
npm config set proxy null
# 查看安装信息
npm list -g
# 查看指定模块
npm list grunt
四、package.json
package.json 位于模块的目录下,用于定义包的属性
package.json属性说明:
- name - 包名。
- version - 包的版本号。
- description - 包的描述。
- homepage - 包的官网 url 。
- author - 包的作者姓名。
- contributors - 包的其他贡献者姓名。
- dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
- repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
- main - main 字段指定了程序的主入口文件,require(‘moduleName’) 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。
- keywords - 关键字
五、模块
5.1 卸载模块
npm uninstall express
5.2 更新模块
npm update express
5.3 探索模块
npm search express
5.4 创建模块
创建模块package.json 文件是必不可少的
# 进入项目根目录,输入命令后按照提示输入内容
npm init
.
.
.
# 最后输入yes
Is this ok? (yes) yes
# 在 npm 资源库中注册用户
npm adduser
# 发布模块
npm publish
六、NPM 常用命令
这里再介绍一些NPM常用命令,还可以在官方文档npmjs.org/doc/查看其他命令
NPM提供了很多命令,例如install和publish,使用npm help
可查看所有命令。
- 使用npm help 可查看某条命令的详细帮助,例如npm help install。
- 在package.json所在目录下使用npm install . -g可先在本地安装当前命令行程序,可用于发布前的本地测试。
- 使用npm update 可以把当前目录下node_modules子目录里边的对应模块更新至最新版本。
- 使用npm update -g可以把全局安装的对应命令行程序更新至最新版。
- 使用npm cache clear可以清空NPM本地缓存,用于对付使用相同版本号发布新版本代码的人。
- 使用npm unpublish @可以撤销发布自己发布过的某个版本代码。
七、镜像配置
在道国内直接使用 npm 的官方镜像是非常慢的,这里推荐使用淘宝 NPM 镜像。
淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本
可以使用淘宝定制的 cnpm 命令行工具代替默认的 npm
淘宝镜像官网
# 安装cnpm
npm install -g cnpm --registry=https://registry.npmmirror.com
# 这样就可以使用 cnpm 命令来安装模块了
cnpm install [name]