因为国内网络的原因, 给 npm 设置 registry 是必须的事情, 不然安装个依赖都下到天荒地老, 然后设置了 registry 后, 使用npm publish
又会将包发到非官方去, 简单的做法就是去.npmrc
文件把 registry 给注释了, 然后整天改来改去也挺麻烦的, 有没有省事一点的方法呢?
1. 登录npm
首先, 我们需要先登录到npm, 登录的方法有两种
1.1 账号密码登录
npm login --registry=https://registry.npmjs.org/
1
这里不能直接使用npm login
登录, 不然会链接到registry
设置的环境去
npm login
# npm notice Log in on https://registry.npmmirror.com/
1
2
2
然后输入 npmjs 的账号密码, 即可登录
1.2 使用 token 登录
如果你不希望每次使用 npm 时都输入用户名和密码,你可以创建一个个人访问令牌(Token),然后使用这个令牌进行登录。
访问 https://www.npmjs.com/settings 并登录你的账户。
在左侧菜单中,选择 “Tokens” 选项。
点击 “Generate new token” 按钮。
为你的 token 命名,然后点击 “Generate”。
复制生成的 token。
最后在 .npmrc 文件中设置:
npm config set //registry.npmjs.org/:_authToken=YOUR_TOKEN_HERE
1
可以使用测试下是否成功
npm whoami --registry=https://registry.npmjs.org/
1
2. 发布包
2.1 修改 package.json 文件
在 package.json > scripts 里添加
"release": "npm publish -r --access public"
1
当然还可以添加prepublishOnly
, 在发布前自动编译啥的, 如:
"prepublishOnly": "npm run build"
1
再添加一下内容:
"publishConfig": {
"registry": "https://registry.npmjs.org/"
}
1
2
3
2
3
2.2 发布
一切准备就绪后, 就可以发布了, 执行命令
npm run release
1