如何釋出第一個屬於自己的npm包

Sugars發表於2019-02-16

什麼是NPM?

NPM是隨同NodeJS一起安裝的javascript包管理工具,能解決NodeJS程式碼部署上的很多問題,常見的使用場景有以下幾種:

  1. 允許使用者從NPM伺服器下載別人編寫的第三方包到本地使用。
  2. 允許使用者從NPM伺服器下載並安裝別人編寫的命令列程式到本地使用。
  3. 允許使用者將自己編寫的包或命令列程式上傳到NPM伺服器供別人使用。

釋出前的準備

1. 註冊一個npm賬號

前往NPM官網進行註冊

2. 建立一個簡單的包

在本地建立一個專案資料夾sugars_demo (名字自己取,不要和NPM上已有的包名重複衝突就好)
然後通過終端進入資料夾(路徑每個人不一樣)

cd sugars_demo

接著可以通過命令建立一個包資訊管理檔案package.json

npm init

一路回車或根據包的內容來填寫相關資訊後,package.json內容大概如下

{
  "name": "sugars_demo",
  "version": "1.0.0",
  "description": "A demo",
  "main": "index.js",
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": ""
  },
  "keywords": [
    "sugars",
    "demo"
  ],
  "author": {
    "name": "sugars",
    "email": "343166031@qq.com"
  },
  "license": "MIT"
}

接著在sugars_demo資料夾裡建立一個index.js檔案,然後簡單敲幾行程式碼

;(function (global, factory) {
  typeof exports === `object` && typeof module !== `undefined` ? module.exports = factory() :
    typeof define === `function` && define.amd ? define(factory) :
      global.moduleName = factory()
}(this, (function () {
  var test = {
    sayHi: function () {
      console.log(`hi`);
    }
  };

  return test
})))

到這裡一個簡單的包就建立好了。
如果想再完善一下的話,還可以在包根目錄下建立README.md檔案,裡面可以寫一些關於包的介紹資訊,最後釋出後會展示在NPM官網上。

開始釋出建立好的包

使用終端命令列
如果是第一次釋出包,執行以下命令,然後輸入前面註冊好的NPM賬號,密碼和郵箱,將提示建立成功

npm adduser

如果不是第一次釋出包,執行以下命令進行登入,同樣輸入NPM賬號,密碼和郵箱

npm login

注意:npm adduser成功的時候預設你已經登陸了,所以不需要再進行npm login了

接著先進入專案資料夾下,然後輸入以下命令進行釋出

npm publish

當終端顯示如下面的資訊時,就代表版本號為1.0.0的包釋出成功啦!前往NPM官網就可以查到你的包了

myMacBook-Pro:sugars_demo sugars$ npm publish
+ sugars_demo@1.0.0

如果遇到顯示以下資訊,比如

npm ERR publish 403

You do not have permission to publish `bootstrap`.Are you logged in as
the corrent user?:bootstrap

意思就是你沒有許可權釋出名為“bootstrap”的包,顯然這個鼎鼎有名的包已經有人釋出了,所以你只能另取它名。

更新已經發布的包

更新包的操作和釋出包的操作其實是一樣的

npm publish

但要注意的是,每次更新時,必須修改版本號後才能更新,比如將1.0.0修改為1.0.1後就能進行更新發布了。
這裡的包版本號有一套規則,採用的是semver(語義化版本),通俗點意思就是版本號:大改.中改.小改

相關文章