npm注册
[npm网站地址](https://www.npmjs.com/)
[npm网站注册地址](https://www.npmjs.com/signup)
npm登录
npm login
userdeMacBook-Pro-2:bag-first user$ npm login
Username: lixiaohong9091
Password:
Email: (this IS public) 1534054864@qq.com
Logged in as lixiaohong9091 on https://registry.npmjs.org/.
验证是否登录 npm who am i
userdeMacBook-Pro-2:bag-first user$ npm who am i
lixiaohong9091
userdeMacBook-Pro-2:bag-first user$
显示自己的npm账号标示已登录
创建npm包
mkdir bag-first
cd bag-first
npm init生成npm工程和package.json文件,在package.json文件中填入相应内容

- 同级目录下新建index.js并编写内容
exports.sayHello=function(name){
    console.log('i am is'+ name)
};
这样一个简单的npm包完成
发布npm包
npm publish (npm包名必须是唯一的,不能与已有npm包重名)
验证npm包是否发布成功
新建一个新工程
npm install '包'

证明发布成功
var firstB = require('bag-first');
firstB.sayHello('lixiaohong');
在新工程中使用
npm包本地调试
cd ~/projects/node-bloggy # go into the dir of your main project
npm link ../node-redis # link the dir of your dependency
npm link 不会再项目的package.json 中添加dependencies依赖
npm包更新
npm version <update_type> -m "<message>"
其中update_type 有三种:
patch增加一位补丁号(比如 1.1.1 -> 1.1.2)
minor增加一位小版本号(比如 1.1.1 -> 1.2.0)
major增加一位大版本号(比如 1.1.1 -> 2.0.0)
比如:
npm version patch -m "Version %s - v1.0.2"
最后提交更新的版本
npm publish
舍弃某个版本的模块
npm deprecate my-thing@"< 1.0.2" "critical bug fixed in v1.0.2"
撤销自己发布的版本。这只是一个测试的包,最好当然还是撤销下来
24小时内可删除
npm --force unpublish zgb_npm
npm包下载
npm install moduleName # 安装模块到项目目录下
npm install -g moduleName # -g 的意思是将模块安装到全局,具体安装到磁盘哪个位置,要看 npm config prefix 的位置。
npm install -save moduleName # -save 的意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖,生产环境使用(如依赖组件)。
npm install -save-dev moduleName # -save-dev 的意思是将模块安装到项目目录下,并在package文件的devDependencies节点写入依赖,开发环境使用(如打包工具webpack,生产环境就不需要了)。