手把手帶你發(fā)npm包

引言:

前端微服務的流行趨勢券敌,為了能做到獨立開發(fā)蚀苛、獨立部署挖垛,不同微服務(子項目)公用組件的使用使npm包變得不可或缺


重要概念 scope:

包的范圍(作用域)

包的范圍,訪問級別和可見性


準備工作:

1.npm注冊賬號

2.如果是發(fā)布組織范圍的包迅皇,需要先創(chuàng)建一個組織

3.倉庫地址為npm春宣,如是cnpm酵颁,用nrm切換

npm i nrm -g(安裝)

nrm ls(查看倉庫地址)

nrm use npm(切換)


發(fā)布包:

一.發(fā)布一個沒有作用域(unscoped)的公共包

1.在命令行上,為包創(chuàng)建一個目錄:

????mkdir my-test-package

2.導航到包的根目錄:

????cd my-test-package

3.如果您使用git來管理軟件包代碼月帝,請在軟件包根目錄中運行以下命令躏惋,替換git-remote-url為軟件包的git遠程URL:

????git init?

????git remote add origin git://git-remote-url

4.在程序包根目錄中,運行該npm init命令嚷辅,生成package.json文件

5.創(chuàng)建一個README文件(必須)說明您的包代碼是什么以及如何使用它簿姨,和.npmignore或.gitignore文件(非必須)來阻止發(fā)布到注冊表

6.編寫包的代碼

7.發(fā)布:在根目錄輸入

????npm publish

登錄:由于沒有登錄npm,發(fā)布的時候肯定會報錯簸搞,輸入 npm adduser扁位,然后根據提示輸入用戶名、密碼和郵箱趁俊,登錄之后重新發(fā)布就行了域仇。

二.發(fā)布一個有作用域(scope)的公共包

如果您使用npmrc?管理多個注冊表上的帳戶,請在命令行上切換到相應的配置文件:

npmrc <profile-name>

1.在命令行上寺擂,為包創(chuàng)建一個目錄:

????mkdir my-test-package

2.導航到包的根目錄:

????cd my-test-package

3.如果您使用git來管理軟件包代碼暇务,請在軟件包根目錄中運行以下命令,替換git-remote-url為軟件包的git遠程URL:

????git init

????git remote add origin git://git-remote-url

4.在程序包根目錄中沽讹,運行npm init命令并將作用域傳遞給scope標志:

????對于組織范圍的包般卑,請?zhí)鎿Qmy-org為組織的名稱:

????npm init --scope=@my-org

????對于用戶范圍的包武鲁,請?zhí)鎿Qmy-username為您的用戶名:

????npm init --scope=@my-username

5.創(chuàng)建一個README文件(必須)說明您的包代碼是什么以及如何使用它爽雄,和.npmignore或.gitignore文件(非必須)來阻止發(fā)布到注冊表

6.編寫包的代碼

7.發(fā)布:在根目錄輸入

????npm publish --access public(之后的版本迭代可使用npm publish)

三.發(fā)布一個私有包

步驟和 二.發(fā)布一個有作用域(scope)的公共包 一樣,但是第7是用npm publish發(fā)布沐鼠。

注意:在發(fā)布私有用戶范圍的npm包之前挚瘟,您必須注冊一個付費的npm用戶帳戶叹谁。此外,要發(fā)布私有組織范圍的包乘盖,您必須創(chuàng)建一個npm用戶帳戶焰檩,然后?創(chuàng)建一個付費的npm組織


安裝包:

npm官網找包订框,然后npm-i-packageName


更新包:

更改包內容重新發(fā)布析苫,必須要改動其version,再npm publish穿扳。

可以在package.json里直接改動version衩侥,也可以使用變更版本號的命令:npm version <major | minor | patch>

npm采用語義化版本,共三位矛物,以’.’隔開茫死,從左至右依次代表:主版本(major)、次要版本(minor)履羞、補丁版本(patch)峦萎。

例如:1.0.0=》major.minor.patch


棄用包:

如果您不再希望維護包,或者您希望鼓勵用戶更新到新版本或不同版本忆首,則可以棄用它爱榔。

棄用整個包:

? ??npm deprecate <package-name> "<message>"

棄用單個版本的包:

? ??npm deprecate <package-name>@<version> "<message>"


刪除包(unpublish):

為了從npm注冊表中永久刪除包(或包版本),作為包所有者或協(xié)作者雄卷,您可以在初始發(fā)布后的72小時內從命令行取消發(fā)布它搓蚪。

刪除整個包:

? ??npm unpublish <package-name> -f

刪除單個版本的包:

? ?npm unpublish <package-name>@<version>

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市丁鹉,隨后出現(xiàn)的幾起案子妒潭,更是在濱河造成了極大的恐慌,老刑警劉巖揣钦,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雳灾,死亡現(xiàn)場離奇詭異,居然都是意外死亡冯凹,警方通過查閱死者的電腦和手機谎亩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宇姚,“玉大人匈庭,你說我怎么就攤上這事』肜停” “怎么了阱持?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長魔熏。 經常有香客問我衷咽,道長鸽扁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任镶骗,我火速辦了婚禮桶现,結果婚禮上,老公的妹妹穿的比我還像新娘鼎姊。我一直安慰自己骡和,他們只是感情好,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布相寇。 她就那樣靜靜地躺著即横,像睡著了一般。 火紅的嫁衣襯著肌膚如雪裆赵。 梳的紋絲不亂的頭發(fā)上东囚,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機與錄音战授,去河邊找鬼页藻。 笑死,一個胖子當著我的面吹牛植兰,可吹牛的內容都是我干的份帐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼楣导,長吁一口氣:“原來是場噩夢啊……” “哼废境!你這毒婦竟也來了?” 一聲冷哼從身側響起筒繁,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤噩凹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后毡咏,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體驮宴,經...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年呕缭,在試婚紗的時候發(fā)現(xiàn)自己被綠了堵泽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡恢总,死狀恐怖迎罗,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情片仿,我是刑警寧澤纹安,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響钻蔑,放射性物質發(fā)生泄漏。R本人自食惡果不足惜奸鸯,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一咪笑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧娄涩,春花似錦窗怒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至球恤,卻和暖如春辜昵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咽斧。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工堪置, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人张惹。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓舀锨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親宛逗。 傳聞我的和親對象是個殘疾皇子坎匿,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內容

  • npm是什么 NPM的全稱是Node Package Manager,是隨同NodeJS一起安裝的包管理和分發(fā)工具...
    build1024閱讀 7,876評論 0 9
  • 本文參考:【原】npm 常用命令詳解從0開始發(fā)布一個無依賴雷激、高質量的npm包Yarn 官網 上一篇文章 npm總結...
    雙面小Q閱讀 2,229評論 0 6
  • NPM官方文檔寫的十分良心替蔬,此篇我做一些比較常用功能的積累,有些地方是翻譯屎暇,有些地方省略可以去官文看进栽。 NPM是什...
    宋樂怡閱讀 2,401評論 0 2
  • 1 從前有個大俠。 大俠在成名前是個和尚恭垦。 那個年頭佛教興盛快毛,成為和尚的渠道很多,有誠心皈依的番挺,也有殺了人后遁入空...
    林陌鹿閱讀 1,764評論 23 32
  • 日子緊挨著土地匍匐前進 照樣有人在針尖上烹茶煮酒 陽光照在山巔上折射出海市蜃樓 一段夢于枕畔辜負了誰 地獄和天堂如...
    陌上冷閱讀 206評論 0 0