Open findxc opened 2 years ago
A lightweight Node.js private proxy registry | Verdaccio
Verdaccio 是用来搭建私有 npm 仓库的,使用很简单。由于使用真的很简单,所以当你希望能有个环境来学习和测试 npm publish 时,你可以本地启动一个 Verdaccio 服务,然后把你的包发到这上面,体验一下和真实发包一样的流程。
具体使用步骤如下:
npm install --global verdaccio
verdaccio
npm adduser --registry http://localhost:4873/
npm publish --registry http://localhost:4873
补充说明:
~/.config/verdaccio
GitHub - release-it/release-it: 🚀 Automate versioning and package publishing
当一个包要发新版本时,需要修改 package.json 中的 version ,然后 commit 对 package.json 的修改,然后打 tag ,然后 push 到远端,然后你可能还会在 GitHub 上创建一次 release 。
release-it 是一个可以帮你自动做这些事情的工具。在项目根目录下执行 npm init release-it 来安装,然后在 package.json 的 scripts 增加如下命令 。
npm init release-it
"scripts": { "release": "release-it", "release:pre": "release-it --preRelease=beta" },
当你希望发 beta 版本时,就 npm run release:pre ,发正式版本就 npm run release 。
npm run release:pre
npm run release
补充,如果希望自动在 GitHub 上创建一次 release ,需要额外配置,详见 GitHub Releases 。
About semantic versioning | npm Docs 这里有解释。
软件版本周期 - 维基百科,自由的百科全书 这里有解释。
如果很完整的流程,一个包可能会先不断发 alpha 版本,相对稳定后发 beta 版本,然后再稳定后发 rc 版本,最后发正式版本。
比如 react 的部分 tags 如下图所示。
其实 npm 有提供 npm version 这个命令来更新版本号,比如执行 npm version patch 后,会修改 package.json ,并 commit ,并打 tag 。然后也有相关的生命周期钩子,在 Description 有解释执行时机。只是说用 release-it 来发包会更加方便。
npm version patch
"scripts": { "preversion": "npm test", "version": "npm run build && git add -A dist", "postversion": "git push && git push --tags && rm -rf build/temp" }
Verdaccio
A lightweight Node.js private proxy registry | Verdaccio
Verdaccio 是用来搭建私有 npm 仓库的,使用很简单。由于使用真的很简单,所以当你希望能有个环境来学习和测试 npm publish 时,你可以本地启动一个 Verdaccio 服务,然后把你的包发到这上面,体验一下和真实发包一样的流程。
具体使用步骤如下:
npm install --global verdaccio
安装verdaccio
来启动服务npm adduser --registry http://localhost:4873/
来初始化一个用户,随意填即可,执行完后默认就是登录状态了npm publish --registry http://localhost:4873
就可以发包到本地的 npm 服务上了补充说明:
~/.config/verdaccio
下,比如 htpasswd 文件是账号信息,如果你忘记初始用户密码了,可以删了这个文件重新再来一次release-it
GitHub - release-it/release-it: 🚀 Automate versioning and package publishing
当一个包要发新版本时,需要修改 package.json 中的 version ,然后 commit 对 package.json 的修改,然后打 tag ,然后 push 到远端,然后你可能还会在 GitHub 上创建一次 release 。
release-it 是一个可以帮你自动做这些事情的工具。在项目根目录下执行
npm init release-it
来安装,然后在 package.json 的 scripts 增加如下命令 。当你希望发 beta 版本时,就
npm run release:pre
,发正式版本就npm run release
。补充,如果希望自动在 GitHub 上创建一次 release ,需要额外配置,详见 GitHub Releases 。
怎么判断我的版本是 patch , minor 还是 major
About semantic versioning | npm Docs 这里有解释。
那 pre-release 时版本号的 alpha , beta 和 rc 又是啥
软件版本周期 - 维基百科,自由的百科全书 这里有解释。
如果很完整的流程,一个包可能会先不断发 alpha 版本,相对稳定后发 beta 版本,然后再稳定后发 rc 版本,最后发正式版本。
比如 react 的部分 tags 如下图所示。
关于 npm version 这个命令
其实 npm 有提供 npm version 这个命令来更新版本号,比如执行
npm version patch
后,会修改 package.json ,并 commit ,并打 tag 。然后也有相关的生命周期钩子,在 Description 有解释执行时机。只是说用 release-it 来发包会更加方便。