拾碎 —— Scoped Packages 的使用

Scoped Packages 域級包

在 npm 的包管理系統(tǒng)中紊遵,有一種 scoped packages 機制停巷,用于將一些 packages 以 @scope/package 的命名形式集中在一個命名空間下面,實現(xiàn)域級的包管理侥啤。
這就是我們看到的諸如 @angular/core沾谓、@angular/router漏设、@r/horse等 package 的存在形態(tài)荚坞。
那么如何創(chuàng)建和管理這種域級包(其實是小生自己譯的名兒挑宠,不喜勿怪,嘻嘻)呢颓影。Steps steps go~

在 npm 項目中設(shè)置 scope

npm 會在用戶注冊賬號的時候為其自動創(chuàng)建一個與用戶名同名的 scope各淀,之后用戶也可以創(chuàng)建其他的 Org 作為 scope。
下面以用戶獨有的作用域為例:

$ mkdir scoped-packages-demo && cd scoped-packages-demo
# 這里是小生的 npm 用戶名
$ npm init --scoped=shockw4ver

然后一頓回車搞定初始化(或者直接加 -y 參數(shù)~)诡挂,當(dāng)然你也可以精致的填好每一個信息碎浇,方便回顧~

操作 scope

初始化成功以后,package.json 文件中的 name 值為 @shockw4ver/scoped-packages-demo 璃俗,即這個包是位于 shockw4ver 命名空間下的 scoped-packages-demo奴璃。

如果你想一直在這個 scope 下開發(fā) npm 包,可以運行全局的 npm 配置命令進(jìn)行設(shè)置:

$ npm config set scope shockw4ver

此時運行 npm config list城豁,可以看到:

; cli configs
metrics-registry = "https://registry.npmjs.org/"
scope = "@shockw4ver"
user-agent = "npm/5.5.1 node/v8.9.3 darwin x64"

; userconfig /Users/zhangyongchao/.npmrc
//registry.npm.taobao.org/:always-auth = false
//registry.npm.taobao.org/:email = "asambojur@live.cn"
//registry.npm.taobao.org/:username = "shockw4ver"
@asambojur:registry = "https://registry.npmjs.org/"
registry = "https://registry.npmjs.org/"

; node bin location = /usr/local/bin/node
; cwd = /Users/zhangyongchao/Desktop/Samuel/demos
; HOME = /Users/zhangyongchao
; "npm config ls -l" to show all defaults.

這是已經(jīng)將 scope 寫到了 .npmrc 中去苟穆,作為全局的 npm 配置。

發(fā)布 scoped package

scoped package 的發(fā)布與普通 package 的發(fā)布幾乎沒有區(qū)別,只是需要注意設(shè)置權(quán)限:

$ npm adduser
Username: shockw4ver
Password:
Email: (this IS public) asambojur@live.cn
Logged in as shockw4ver to scope @asambojur on https://registry.npmjs.org/.

$ npm publish --access=public
# 這里需將訪問權(quán)限設(shè)置為 public鞭缭,否則它默認(rèn)是發(fā)布一個 private module剖膳,這是為一個有償服務(wù)魏颓,需要成為“paid user”岭辣。

稍等片刻:

+ @shockw4ver/scoped-packages-demo@1.0.0

這便是發(fā)布成功了,嘿嘿~

合作開發(fā)

合作開發(fā)和普通包就更沒區(qū)別~
owner 只需將合作者添加到 collaborator 即可~
當(dāng)然了甸饱,之前應(yīng)當(dāng)先用版本管理工具做好同步沦童,確保每次發(fā)布版本號不重復(fù)。

Private Modules

這里贅述一下 Private Modules 吧~
它是 npm 提供的私有模塊服務(wù)叹话,類似于 github 的 private repository偷遗。
當(dāng)你的命名空間下的代碼不想公開而又希望用 npm 進(jìn)行管理的時候,可以有償?shù)氖褂眠@個服務(wù)驼壶。
官方描述:

When you sign up for private modules as an individual user, your scope is your username. If you create an npm Org, the orgname can be the scope. Orgs can be free or paid. Using a public Org is the only free way to use scopes in package names

也就是說氏豌,個人用戶名或 Org 都可以成為你的 scope,而 Orgs 可以是付費或者免費的热凹,其中免費 Org 是通過包名使用 scope 的唯一途徑

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末泵喘,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子般妙,更是在濱河造成了極大的恐慌纪铺,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碟渺,死亡現(xiàn)場離奇詭異鲜锚,居然都是意外死亡,警方通過查閱死者的電腦和手機苫拍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進(jìn)店門芜繁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人绒极,你說我怎么就攤上這事骏令。” “怎么了集峦?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵伏社,是天一觀的道長。 經(jīng)常有香客問我塔淤,道長摘昌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任高蜂,我火速辦了婚禮聪黎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己稿饰,他們只是感情好锦秒,可當(dāng)我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著喉镰,像睡著了一般旅择。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上侣姆,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天生真,我揣著相機與錄音,去河邊找鬼捺宗。 笑死柱蟀,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蚜厉。 我是一名探鬼主播长已,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼昼牛!你這毒婦竟也來了术瓮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤匾嘱,失蹤者是張志新(化名)和其女友劉穎斤斧,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體霎烙,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡撬讽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了悬垃。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片游昼。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖尝蠕,靈堂內(nèi)的尸體忽然破棺而出烘豌,到底是詐尸還是另有隱情,我是刑警寧澤看彼,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布廊佩,位于F島的核電站,受9級特大地震影響靖榕,放射性物質(zhì)發(fā)生泄漏标锄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一茁计、第九天 我趴在偏房一處隱蔽的房頂上張望料皇。 院中可真熱鬧,春花似錦、人聲如沸践剂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逊脯。三九已至优质,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間男窟,已是汗流浹背盆赤。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留歉眷,地道東北人。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓颤枪,卻偏偏與公主長得像汗捡,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子畏纲,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理扇住,服務(wù)發(fā)現(xiàn),斷路器盗胀,智...
    卡卡羅2017閱讀 134,699評論 18 139
  • 描述 npm從以下來源獲取配置值艘蹋,按優(yōu)先級排序: 命令行標(biāo)記 在命令行上放置--foo bar設(shè)置foo配置參數(shù)為...
    竹天亮閱讀 44,160評論 0 8
  • JavaScript 模塊化編程 網(wǎng)站越來越復(fù)雜,js代碼票灰、js文件也越來越多女阀,會遇到什么問題? 命名沖突屑迂; 文件...
    magic_pill閱讀 1,435評論 0 1
  • Scopes將相當(dāng)于npm模塊的命名空間浸策。如果包名以@開始,那他就是一個scoped package惹盼。scope是...
    竹天亮閱讀 2,143評論 0 1
  • 緩緩的睜開了眼庸汗,枕頭早已濕透。 睡了五個小時手报,為什么還是會想起那個人蚯舱,又在夢里陪伴著我。 起床走出屋子掩蛤,在滿是大雪...
    _天空之城閱讀 400評論 0 0