發布 管理npm module

2021-09-11 10:01:42 字數 2111 閱讀 3334

原文:github.com/codelittlep…

公司大了,團隊大了以後,自然會出各種產品,即各種專案。而我們知道,每個專案其實都有很多共同的**可以復用。複製貼上這種重複勞動當然每個人都很討厭,而且還有操作失誤的情況。因此,往往,比如常用函式封裝、正則、元件等,都可以做成npm module發布到npm上,方便所有的專案使用。

基礎的命令和操作就不介紹了,資料太多,當然還是最推薦官方的教程,教程位址戳我》。然後,我發現掘金的一篇文章作為補充也不錯,npm - 參考手冊》。

在做自己的module之前,不得不說說怎麼管理module這個專案。npm本身並沒有版本管理的能力,我們publish什麼,npm上就是什麼。因此,很顯然,我們需要git來管理我們的npm module。 團隊合作的時候,如果是多人維護乙個npm module,npm publish的許可權建議只能是乙個人,比如是建立這個module的人,我們暫且叫他tom。其他人,包括tom,對module的所有修改,先push到git上,然後由tom做code review。當tom覺得ok、沒問題了以後,合併**,然後npm publish到npm。 總結一下,我們通過這兩點來管理:

git單人npm publish

這裡我們選用github,首先建立專案:

然後本地clone**。

.

├── readme.md

└── package.json

複製**

npm init

複製**

依次輸入package name,version,description,git repository等。 有兩個需要注意:

package name如果是公共module,取乙個獨一無二的名字就好了,如果我們想建立乙個私有的module(基本每個稍微大點的公司團隊都有private的npm module),那就得以@開頭,然後跟上公司名或者團隊名,再用/分割,最後接模組名字,比如@xkeshi/utils,只有加入這個私有專案的成員才有許可權npm安裝@xkeshi/utils這個包,而且私有包對成員員許可權可控性更高。其實關於public和private,即共有和私有的區別,文章開頭的「基礎」部分推薦的教程裡也講的很清楚了。

git repository填github專案位址(預設就是)。 我們繼續,按照npm一路的提示填好資料後,我們會有乙份package.json生成,裡面就是我們剛才填寫的資訊。

npm init的時候,在填entry point的時候,我們如果選擇預設的話就是index.js。那就在根目錄建立乙個index.js吧。

首先建立乙個資料夾加src,然後裡面建立兩個資料夾,第乙個就叫mathematic,裡面封裝一些數學函式;第二個叫regex,裡面就是一些常用的正則。目錄結構為:

├── readme.md

├── index.js

├── package.json

└── src

├── mathematic

│   ├── readme.md

│   └── index.js

└── regex

├── readme.md

└── index.js

複製**

問題又來了,其實,我們編寫的util都是用es6甚至es7的語法,遊覽器並不能執行。所以我們不得不用babel編譯,又因為js模組化的需要,因此,webapck自然加了進來。 webpack和babel的配置就不多說了。

我們的npm包有webpack配置檔案,有examples,有node_modules,這些其實我們並不想要,因此,我們可以通過.npmignore來在npm publish的時候,忽略自己不想要的檔案。

**都寫好,執行測試沒問題以後,push到github。

在這之前,你得去npm註冊過,然後npm login,最後發布npm publish就哦了。

文章中專案github位址戳這裡: github.com/codelittlep…

文章中專案npm位址戳這裡: www.npmjs.com/package/kur…

OpenStack Image製作 發布 管理

openstack image management 1.通過kvm 製作image kvm img create f raw server.img 5g 2.安裝虛擬機器imagesudo kvm m 256 cdrom ubuntu 11.10 server amd64.iso drive fi...

通用的許可權管理系統發布

許可權管理系統的又一次改進 本系統是乙個小型許可權管理系統,不要以大系統框架的模式來看這個框架,您在使用之前,應該先了解系統框架,是否適用您的設計需求,這個框架可以應用到中小系統中,我想是沒有多大問題,本系統在許可權設計方面,只能給您乙個參考,本系統現在實現了對系統中的功能模組控制,開發功能模組進可...

專案管理 發布階段,維護階段

如果有培訓,工程部人員出 培訓準備檢查表 它確保培訓所需的硬體 軟體 材料 人員都準備就緒,以免誤漏。例子見表9 型別 事項 實施者 是否到位硬體 web伺服器 姓名 是 否 不需要 外部硬體裝置 紫光筆 加密狗等等 姓名 是 否 不需要 講師筆記本 電腦 姓名 是 否 不需要 投影儀 姓名 是 否...