npm发包与升级
發包
這里先創建一個叫add-function-demo的項目, 寫一個簡單的求和方法
// dist/index.js function add(a, b) {return a + b; }module.exports = add;創建npm賬號
發包必須創建npm賬號, 登錄時需要輸入賬號密碼和郵箱
npm包大致目錄結構
包名
├── dist/index.js
├──.npmignore
├── CHANGELOG.md
├── README.md
└── package.json
package.json文件的配置
當我們npm init -y 初始化一個npm包時, 會出現一個package.json文件:
{"name": "add-function-demo","version": "1.0.0","description": "","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"keywords": [],"author": "","license": "ISC" }注意: 想要發包, 我們還需要修改或添加一些東西
◆ 包名要確保是唯一的
◆ 而且推薦將包名放置在當前的賬號下, 即 "@user/package-name"
◆ 用戶在下載npm包時, 會找包的入口文件
◆ 使用時, 默認導入就會導入index.js文件
表明當前包是公開的(私有包無法上傳)
修改完之后的package.json:
{"name": "@zerozhang/add-function-demo","version": "1.0.0","description": "","main": "dist/index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"keywords": [],"author": "zerozhang","license": "ISC" }.npmignore文件
類似于.gitignore文件, 該文件中的目錄會被npm忽略, 不被上傳。比如:
# 忽略目錄 examples/ packages/ public/# 忽略指定文件 vue.config.js babel.config.js *.mapREADME文件
當前項目的說明文檔
CHANGELOGO文件
當前項目的升級改版說明文檔, 每次升級版本時, 都要附加升級說明
npm鏡像
如果有安裝過nrm鏡像源管理工具的, 必須確保當前是npm源, 否則上傳會失敗
nrm ls* npm -------- https://registry.npmjs.org/ yarn ------- https://registry.yarnpkg.com/ cnpm ------- http://r.cnpmjs.org/taobao ----- https://registry.npm.taobao.org/ nj --------- https://registry.nodejitsu.com/ npmMirror -- https://skimdb.npmjs.com/registry/edunpm ----- http://registry.enpmjs.org/ # 使用nrm use可以切回npm源 nrm use npm發包命令
- npm login 登錄
- npm publish 發版
如果package.json中的name是’@user/package-name’格式的話, 可以添加如下選項進行發版npm publish --access public
發布成功:
$ npm publish --access public npm notice npm notice package: @zerozhang/add-function-demo@1.0.0 npm notice === Tarball Contents === npm notice 65B dist/index.js npm notice 256B package.json npm notice 0 CHANGELOGO.md npm notice 104B README.md npm notice === Tarball Details === npm notice name: @zerozhang/add-function-demo npm notice version: 1.0.0 npm notice package size: 514 B npm notice unpacked size: 425 B npm notice shasum: 037b3a7be38ff049956d4e22f9d6efd39e68a5b6 npm notice integrity: sha512-4JAzO/5vVcUXS[...]1vLBUGtAgOv2A== npm notice total files: 4 npm notice + @zerozhang/add-function-demo@1.0.0升級
// dist/index.js:function add(a, b) {return a + b; } function multiply(a, b) {return a * b; }module.exports = {add,multiply }; // CHANGELOGO:# 更新日志 ## [1.0.0] - 2021-10-13 ### 新增 - 【index】添加 乘法計算
升級命令
- npm version patch 升級布丁
此時package中的version會自動升級, 變成 "version": "1.0.1", - git push 提交當前版本更新
- npm publish 發布更新
發布成功, 此時可以看到 版本號已經變了~
升級區別
升級分 布丁/次版本/主版本 三種方式
- patch (補丁)
npm version patch 1.0.0–> 1.0.1 - minor (次要版本)
npm version minor 1.0.0–> 1.1.0 - major (主要版本)
npm version major 1.0.0–> 2.0.0
好啦 今天就分享到這里~!
總結
- 上一篇: matlab 声源定位csdn_[转]基
- 下一篇: 《一斛珠·元夜月蚀》