图文并茂教你如何发布自己的NPM包(GitHub Packages npm 包发布)
前情提要
发布包到npm也好,到github packages仓库也好,都是一样的道理,只是仓库地址不一样而已,本文是将npm包发布到了GitHub Packages~
GitHub Packages 简介
GitHub Packages 是一种软件包托管服务,和npm类似,允许您私下或公开托管软件包,并将包用作项目中的依赖项。
快速上手
仓库准备
大家看一下:未发过包的仓库是下面这个样子
准备好自己需要发包的项目
切换为私有仓库
npm config set registry https://私有的git仓库.com/_registry/npm
获取当前npm仓库地址
npm config get registry
生成登录秘钥
登录
npm login
实际登录案例
PS C:\Users\test-layout> npm login
npm WARN adduser `adduser` will be split into `login` and `register` in a future version. `adduser` will become an alias of `register`. `login` (currently an alias) will become its own command.
npm notice Log in on https://test.com/_registry/npm
Username: xiaojin
Password:
Email: (this IS public) AA@cn.AA.com
Logged in as xiaojin on https://test.com/_registry/npm.
PS C:\Users\test-layout>
准备 package.json 文件:
package.json 是描述 NPM 包的核心文件,需要包含下面字段:
- name:插件的名称,必须唯一且没有与其他包冲突。
- version:插件的版本号,遵循语义化版本规则。
- description:插件的简短描述。
- main:指向插件的入口文件。
- keywords:插件的关键词,有助于搜索引擎发现你的包。
- author 和 license:插件的作者信息和许可证。
设置 NPM 忽略文件
创建 .npmignore 文件,指定例如,node_modules、dist 等。
版本管理
在 NPM 上发布的每个包都有唯一的版本号。如果你对插件做了更改,发布的时候需要更新版本号。NPM 使用语义化版本控制 (Semantic Versioning),其格式为 MAJOR.MINOR.PATCH。具体规则如下:
- MAJOR:做了不兼容的 API 修改。
- MINOR:增加了功能,并且没有破坏兼容性。
- PATCH:修复了问题,并且没有破坏兼容性。
发布插件
npm publish
发布成功
PS C:\Users\testlayout> npm publish
npm notice
npm notice 📦 @test-layout@1.2.80
npm notice === Tarball Contents ===
npm notice 359B README.md
npm notice 1.4kB package.json
npm notice === Tarball Details ===
npm notice name: @test-layout
npm notice version: 1.2.80
npm notice filename: @test-layout-1.2.80.tgz
npm notice package size: 954 B
npm notice unpacked size: 1.8 kB
npm notice shasum: 02f1b7bbAAAAAA40b52cbbdb14d6584988
npm notice integrity: sha512-dK95CUAAAAZ08A[...]s+jAAAo1Bw==
npm notice total files: 2
npm notice
npm notice Publishing to https://test.com/_registry/npm
+ @test-layout@1.2.80
PS C:\Users\testlayout>
其他命令
npm publish --access=public // 发布公共的npm包
npm version patch // 更新当前包版本 v0.0.1 -> v0.0.2
结语
- 今天就写到这里啦~
- 小伙伴们,( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ我们明天再见啦~~
- 大家要天天开心哦
欢迎大家指出文章需要改正之处~
学无止境,合作共赢