注册npm账号
查看npm镜像,如果之前更换过,需要重置
npm config get registry
重置镜像路径
墙内的同学都习惯用淘宝镜像,这将不能访问npm账号,使用命令切换:
npm config set registry https://registry.npmjs.org
之后有必要可以再切回淘宝镜像:
npm config set registry https://registry.npm.taobao.org
创建你的npm包
在项目的git仓库下执行:
npm init
根据提示输入npm包信息,package.json
创建完毕。
name:项目的包名,先在npm官网搜索下,或者npm install你想用的包名,以免名称已存在。
version:版本号,以后更新也要用到。
entry point:也就是项目main入口,默认根目录的index.js,调用这个包首先访问的文件。
其他选项不是很重要,后面可以直接在package.json
文件中修改。
在终端登录npm
npm adduser
输入npm账号的用户名、密码、邮箱,登录成功显示:
Logged in as xxx on https://registry.npmjs.org/.
开始发包
npm publish
第一次执行可能会提示:you must verify your email before publishing a new package: https://www.npmjs.com/email-edit,按照提示打开这个网址,输入第2步配置的邮箱,然后登录邮箱点击邮件进行验证即可。
尝试获取npm包
可以先创建一个空目录:
npm install <package-name>
下载完包后根目录创建一个test.js
:
var t = require('xxx') // xxx为包名
console.log(t)
运行node test
,查看控制台输出是否打印插件内容。
更新npm包
修改package.json
中的版本号,同样执行:
npm publish
撤销npm包
理论上npm包具有唯一性不可删除,已发布无法撤销只能更新,但是可以执行以下命令来提示该包不再维护:
npm deprecate xxx(包名) '这个包我已经不再维护了'
简单脚本
在你要发布的项目根目录创建一个文件 publish
#!/usr/bin/env bash
set -e
# 修改npm源地址
npm config get registry
npm config set registry=http://registry.npmjs.org
# 登陆输入自己的npm账号和密码,还有邮箱
echo '登录npm'
npm login
echo "发布中..."
npm publish
# 改回npm源地址
npm config set registry=https://registry.npm.taobao.org
echo -e "\n发布成功\n"
exit
每次发布时运行命令 sh publish
输入账户信息即可发布。
注意先修改 package 的
version
,版本号更新才代表发布更新。