何處安放你那垃圾的封裝代碼缅帘?自建npm倉(cāng)庫(kù)萬(wàn)事不求人


title: 何處安放你那垃圾的封裝代碼衰粹?自建npm倉(cāng)庫(kù)萬(wàn)事不求人
category: Web
tag: npm
date: 2019-07-14


主標(biāo)題:何處安放你那垃圾的封裝代碼议谷?自建npm倉(cāng)庫(kù)萬(wàn)事不求人
副標(biāo)題:如何把你那丟人的代碼塊放到自建npm倉(cāng)庫(kù)里
副標(biāo)題:自建npm倉(cāng)庫(kù)

緣起

在前幾篇文章中提到飛冰ice不支持私有倉(cāng)庫(kù),沒(méi)辦法成為我的代碼素材庫(kù)憋活,我反饋給飛冰團(tuán)隊(duì)之后污淋,隔了一天,大周末的就新增了對(duì)私有npm倉(cāng)庫(kù)和自有cdn的支持余掖,之前顧慮npm發(fā)包太公開寸爆,cdn訪問(wèn)太慢的問(wèn)題迎刃而解。

飛冰團(tuán)隊(duì)給力盐欺!:ox::beer:

這篇文章就說(shuō)說(shuō)怎么(低成本省時(shí)省力不重復(fù)造輪子地)自建私有npm倉(cāng)庫(kù)赁豆。我那丟人現(xiàn)眼的垃圾代碼就不拿出去霍霍人了。

實(shí)例

我們?yōu)槭裁匆越╪pm冗美?一個(gè)是保護(hù)私有代碼魔种,另一個(gè)就是從局域網(wǎng)取文件速度快。

私有npm粉洼,發(fā)包更省心节预。

自建私有倉(cāng)庫(kù),目前有幾個(gè)選擇属韧,一個(gè)是sinopia 一個(gè)是 cnpmjs.org安拟,我先知道的cnpmjs.org 那就先看這個(gè)。

cnpmjs.org這個(gè)包名字很有特點(diǎn)宵喂,是個(gè)網(wǎng)址糠赦,國(guó)人首選的cnpm就是用的這個(gè)搭的:

當(dāng)前 npm.taobao.org 運(yùn)行版本是: cnpmjs.org@3.0.0-rc.27

我們可以通過(guò)下載或者fork使用這個(gè)包。這個(gè)包會(huì)優(yōu)先使用本地的包锅棕,沒(méi)有就使用cnpm的包拙泽,下次速度有保證。下載完會(huì)自動(dòng) sync同步裸燎,下次下載就從緩存里拿顾瞻。

cnpmjs.org 自建過(guò)程

前置條件

沒(méi)啥準(zhǔn)備條件,電腦有網(wǎng)就行德绿。

數(shù)據(jù)庫(kù)有也行荷荤,沒(méi)有也行,提供 mysql 和 sqllite 等數(shù)據(jù)庫(kù)支持脆炎。

我有一個(gè)現(xiàn)成的數(shù)據(jù)庫(kù):本地端口3306的 mysql梅猿。

安裝 cnpmjs.org

需要先安裝這個(gè)包,拿到源代碼秒裕。

npm i -g cnpmjs.org
cnpmjs.org -V #2019-07-14的版本是 2.19.4

修改配置文件

不同系統(tǒng)袱蚓,配置文件路徑不太一樣。

Windows

C:\Users\zhongda\AppData\Roaming\npm\node_modules\cnpmjs.org\config\index.js

Mac

cnpmjs.org 默認(rèn)安裝路徑:/usr/local/lib/node_modules/cnpmjs.org\index.js

nvm

如果你使用 nvm几蜻,安裝路徑在這:~/.nvm/versions/node/v10.15.3/lib/node_modules/cnpmjs.org/config/index.js

修改并注意以下內(nèi)容:

  • bindingHost: '0.0.0.0' 允許局域網(wǎng)訪問(wèn)

  • enableCompress: true 啟用gzip壓縮喇潘,很奇怪為什么默認(rèn)關(guān)閉

  • admins 這里填入管理者的信息体斩,方便后續(xù)鑒權(quán)

  • database 數(shù)據(jù)庫(kù),有就寫颖低,沒(méi)有就使用 sqlite絮吵,如果要使用sqlite記得全局安裝sqlite

  • nfs 包存到哪,默認(rèn)是數(shù)據(jù)目錄 nfs 下面忱屑,這個(gè)魔改一下發(fā)到cdn上也不是不行蹬敲,目前還不用

  • registryHost:'' 注意這里先留空,模塊訪問(wèn)域名莺戒。如果你下載模塊報(bào)錯(cuò)就是這個(gè)的鍋

  • scopes 包前綴伴嗡,比如 @babel/cli 這樣的,多點(diǎn)命名空間

  • syncModel exist 只同步緩存用到的包从铲。這玩意吃硬盤空間瘪校,我看了一下快10個(gè)g了,拿空間換時(shí)間

  • npmClientName 通過(guò)什么客戶端拉取名段,默認(rèn)cnpm

創(chuàng)建數(shù)據(jù)庫(kù)并導(dǎo)表

以下參考的是https://zhuanlan.zhihu.com/p/35773211

進(jìn)入數(shù)據(jù)庫(kù)

mysql -uroot -p

create database cnpmjs; # 創(chuàng)建數(shù)據(jù)庫(kù)

use cnpmjs;

source ~/xx/docs/db.sql; # 這個(gè)在配置文件附近的文件夾

完事會(huì)創(chuàng)建大概14個(gè)表阱扬。

啟動(dòng)

cnpmjs.org start

打開 localhost:7002 看看吧。

如果你想要托管伸辟,可以嘗試pm2:

npm i -g pm2
pm2 start dispatch.js

發(fā)個(gè)包

自己寫個(gè)包麻惶,讓然后發(fā)包

cnpm login # 先本地登錄悯仙,不登錄發(fā)不了包
npm init -y
touch index.js # 包里有內(nèi)容了
cnpm publish

可以隨便發(fā)包了骂澄。


有生之年展望:

  • 回頭可以再補(bǔ)充點(diǎn),修改頁(yè)面樣式江解,看著不好看忙迁。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市碎乃,隨后出現(xiàn)的幾起案子姊扔,更是在濱河造成了極大的恐慌,老刑警劉巖梅誓,帶你破解...
    沈念sama閱讀 221,430評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恰梢,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡梗掰,警方通過(guò)查閱死者的電腦和手機(jī)嵌言,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)及穗,“玉大人摧茴,你說(shuō)我怎么就攤上這事」÷剑” “怎么了苛白?”我有些...
    開封第一講書人閱讀 167,834評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵娃豹,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我购裙,道長(zhǎng)懂版,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,543評(píng)論 1 296
  • 正文 為了忘掉前任躏率,我火速辦了婚禮躯畴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘薇芝。我一直安慰自己蓬抄,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評(píng)論 6 397
  • 文/花漫 我一把揭開白布恩掷。 她就那樣靜靜地躺著倡鲸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪黄娘。 梳的紋絲不亂的頭發(fā)上峭状,一...
    開封第一講書人閱讀 52,196評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音逼争,去河邊找鬼优床。 笑死,一個(gè)胖子當(dāng)著我的面吹牛誓焦,可吹牛的內(nèi)容都是我干的胆敞。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼杂伟,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼移层!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起赫粥,我...
    開封第一講書人閱讀 39,671評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤观话,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后越平,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體频蛔,經(jīng)...
    沈念sama閱讀 46,221評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評(píng)論 3 340
  • 正文 我和宋清朗相戀三年秦叛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了晦溪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,444評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡挣跋,死狀恐怖三圆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤嫌术,帶...
    沈念sama閱讀 36,134評(píng)論 5 350
  • 正文 年R本政府宣布哀澈,位于F島的核電站,受9級(jí)特大地震影響度气,放射性物質(zhì)發(fā)生泄漏割按。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評(píng)論 3 333
  • 文/蒙蒙 一磷籍、第九天 我趴在偏房一處隱蔽的房頂上張望适荣。 院中可真熱鬧,春花似錦院领、人聲如沸弛矛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)丈氓。三九已至,卻和暖如春强法,著一層夾襖步出監(jiān)牢的瞬間万俗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工饮怯, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留闰歪,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,837評(píng)論 3 376
  • 正文 我出身青樓蓖墅,卻偏偏與公主長(zhǎng)得像库倘,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子论矾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評(píng)論 2 359

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