日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

npm发包与升级

發布時間:2023/12/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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" }

注意: 想要發包, 我們還需要修改或添加一些東西

  • “name”: “@zerozhang/add-function-demo”

    ◆ 包名要確保是唯一的
    ◆ 而且推薦將包名放置在當前的賬號下, 即 "@user/package-name"

  • “main”: “dist/index.js”

    ◆ 用戶在下載npm包時, 會找包的入口文件
    ◆ 使用時, 默認導入就會導入index.js文件

  • “private”: false

    表明當前包是公開的(私有包無法上傳)

  • 修改完之后的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 *.map

    README文件

    當前項目的說明文檔

    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

    升級

  • 先修改我們的內容, 修改完記得更新CHANGELOGO文檔(比如我們加個乘法):
    // 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】添加 乘法計算
  • 修改完要記得提交, 保持git工作目錄是干凈的, 否則會導致升級失敗:$ npm version patch npm ERR! Git working directory not clean. npm ERR! M CHANGELOGO.md npm ERR! M dist/index.js
  • 升級命令

    • 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

    好啦 今天就分享到這里~!

    總結

    以上是生活随笔為你收集整理的npm发包与升级的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。