2019-10-27gulp文件夾下的node_modules\package.json\package-lock.json

node_modules包含什么:gulp本身,gulp依賴的模塊笤闯;

問題:1文件夾過度過碎,導(dǎo)致傳輸速度慢棍厂;2復(fù)雜的模塊依賴關(guān)系需要被記錄颗味,確保模塊版本和當(dāng)前保持一致,否則會導(dǎo)致當(dāng)前項目運(yùn)行報錯牺弹。

package.json文的作用:項目的描述文件浦马,記錄了當(dāng)前項目信息,例如:名稱张漂,版本晶默,作者,github地址鹃锈,當(dāng)前項目依賴的第三方模塊等荤胁,使用npm init -y命令生成瞧预。(一般放在項目的根目錄下)

*傳輸項目時node_modules文件會刪除屎债,接收方在命令行中重新下載。

在Node文件夾下創(chuàng)建description文件夾

命令行工具:法①:C:\Node\description> npm init? ? ? ? // 生成package.json文件

回答問題:一直enter

法②:C:\Node\description> npm init -y? ? ? ? // 生成package.json文件(-y就是yes,使選項都為默認(rèn)值)

package.json文件

{

??"name":?"description",? ? ? ? ? ? ? ? ? ? ? ? ?// 項目的名稱

??"version":?"1.0.0",? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// 項目的版本

??"description":?"",? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// 項目的描述(快速了解當(dāng)前項目的功能以及作用)

??"main":?"index.js",? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // 項目的主模塊文件

??"scripts":?{? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // 命令的別名

????"test":?"echo?\"Error:?no?test?specified\"?&&?exit?1"

??},

??"keywords":?[],? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // 關(guān)鍵字:描述當(dāng)前的項目

??"author":?"",? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // 項目的作者

??"license":?"ISC"? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // 項目遵循的協(xié)議(默認(rèn)ISC-開放源代碼協(xié)議)

}

只要package.jsom文件存在垢油,npm install 下載的模塊就會自動記錄到這個文件中盆驹。

開始

命令行工具:C:\Node\description> npm install formidable mime? ?//同時下載2個模塊(空格區(qū)分);?

結(jié)果:

{

??"name":?"description",

??"version":?"1.0.0",

??"description":?"",

??"main":?"index.js",

??"scripts":?{

????"test":?"echo?\"Error:?no?test?specified\"?&&?exit?1"

??},

??"keywords":?[],

??"author":?"",

??"license":?"ISC",

??"dependencies":?{? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // 記錄當(dāng)前項目所依賴的第三方模塊

????"formidable":?"^1.2.1",? ? ? ? ? ? ? ? ? ? ?//?formidable 以及版本 ?

????"mime":?"^2.4.4"? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //?mime以及版本

??}

}

==================================================

ps:接收到的文件:沒有node_modules滩愁,只有package.json和package-lock.json;

命令行工具:C:\Node\description> npm install (此時node_modules就又添加了)

==========================================

項目依賴:在項目的開發(fā)階段和線上運(yùn)營階段躯喇,都需依賴第三方包,稱為項目依賴硝枉。

在使用npm install 包名命令下載的文件會默認(rèn)被添加到package.json文件的dependencies字段中廉丽。

例如說在項目中使用了jquery第三方庫文件:

{

? ? ? ? ? ? "dependencies":{

? ? ? ? ? ? ? ? ? ? ? "jquery":"^3.3.1"

? ? ? ? ? ? }

}

如果項目在線上缺少了jquery,那么無法運(yùn)行妻味。

開發(fā)依賴:在項目的開發(fā)階段需要依賴正压,線上運(yùn)營階段不需要依賴的第三方包,稱為開發(fā)依賴责球。

使用npm install 包名--save-dev命令將包添加到package.json文件的devDependencies字段中?

--save-dev作用:把當(dāng)前安裝的第三方模塊焦履,放在devDependencies中拓劝,以此區(qū)分項目依賴和開發(fā)依賴。

{

? ? ? ? ? ? "devDependencies":{

? ? ? ? ? ? ? ? ? ? ? "jquery":"^3.3.1"

? ? ? ? ? ? }

}

例如:glup是開發(fā)依賴

命令行工具:C:\Node\description>npm install gulp --save-dev

此時查看package.json文件:如下

{

??"name":?"description",

??"version":?"1.0.0",

??"description":?"",

??"main":?"index.js",

??"scripts":?{

????"test":?"echo?\"Error:?no?test?specified\"?&&?exit?1"

??},

??"keywords":?[],

??"author":?"",

??"license":?"ISC",

??"dependencies":?{

????"formidable":?"^1.2.1",

????"mime":?"^2.4.4"

??},

??"devDependencies":?{

????"gulp":?"^4.0.2"

??}

}

==============================================

項目依賴和開發(fā)依賴區(qū)分好處:可以讓我們在不同的運(yùn)行環(huán)境下下載不同的依賴嘉裤,比如說當(dāng)前是線下開發(fā)環(huán)境郑临,我們可以用npm install去下載全部的依賴,如果當(dāng)前是屬于線上的運(yùn)營環(huán)境(服務(wù)器環(huán)境下)屑宠,只需要使用npm install --save-dev

開發(fā)環(huán)境:npm install

服務(wù)器環(huán)境:npm install --production? ? ? ? ? ? ? ? // 生產(chǎn)環(huán)境

=========================================

npm如何解決模塊與模塊間互相依賴關(guān)系:package-lock.json

作用:記錄模塊與模塊間的依賴關(guān)系

好處:①防止他人在下載模塊時厢洞,錯誤的下載最新版模塊狞山,導(dǎo)致項目運(yùn)行失敗

②記錄了下載地址碳褒,再下一次下載加速了下載速度,npm不需要分析模塊依賴關(guān)系罗标。

============================================

package.json中scripts的作用:存儲命令的別名,頻繁執(zhí)行的命令比較長時秋柄,就把長的命令寫在scripts選項中:

例如

??"scripts":?{

????"test":?"echo?\"Error:?no?test?specified\"?&&?exit?1"获枝,

? ? "build": "nodemon app.js"

??},

當(dāng)想執(zhí)行nodemon app.js時,使用build別名就可以骇笔;

npm run build

命令行工具:C:\Node\description>npm run build

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末省店,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子笨触,更是在濱河造成了極大的恐慌懦傍,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芦劣,死亡現(xiàn)場離奇詭異粗俱,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)虚吟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門寸认,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人串慰,你說我怎么就攤上這事偏塞。” “怎么了邦鲫?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵灸叼,是天一觀的道長。 經(jīng)常有香客問我庆捺,道長古今,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任滔以,我火速辦了婚禮捉腥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘醉者。我一直安慰自己但狭,他們只是感情好披诗,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著立磁,像睡著了一般呈队。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上唱歧,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天宪摧,我揣著相機(jī)與錄音,去河邊找鬼颅崩。 笑死几于,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的沿后。 我是一名探鬼主播沿彭,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼尖滚!你這毒婦竟也來了喉刘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤漆弄,失蹤者是張志新(化名)和其女友劉穎睦裳,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體撼唾,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡廉邑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了倒谷。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蛛蒙。...
    茶點(diǎn)故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖恨锚,靈堂內(nèi)的尸體忽然破棺而出宇驾,到底是詐尸還是另有隱情倍靡,我是刑警寧澤猴伶,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站塌西,受9級特大地震影響他挎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜捡需,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一办桨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧站辉,春花似錦呢撞、人聲如沸损姜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽摧阅。三九已至,卻和暖如春绷蹲,著一層夾襖步出監(jiān)牢的瞬間棒卷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工祝钢, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留比规,地道東北人。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓拦英,卻偏偏與公主長得像蜒什,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子疤估,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評論 2 359

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

  • 個人入門學(xué)習(xí)用筆記吃谣、不過多作為參考依據(jù)。如有錯誤歡迎斧正 目錄 簡書好像不支持錨點(diǎn)做裙、復(fù)制搜索(反正也是寫給我自己看...
    kirito_song閱讀 2,479評論 1 37
  • NPM NPM 是隨同 Node 一起安裝的包管理工具岗憋,能解決 Node 代碼部署上的很多問題,常見的使用場景有以...
    heyi_let閱讀 2,590評論 0 2
  • 異步I/O 在Node中锚贱,我們可以從語言層面很自然的進(jìn)行一并I/O操作仔戈,每個調(diào)用之間無須等待之前的I/O調(diào)用結(jié)束,...
    Upcccz閱讀 523評論 0 2
  • 最近上的一節(jié)平面設(shè)計的課拧廊,老師跟我們推薦了這本原研哉的《為什么設(shè)計》监徘,課下我就找來了這本書嘗試著看看。 《為什么...
    小小太霷閱讀 2,472評論 0 1
  • 幸福是需要修出來的~每天進(jìn)步1%~幸福實修08班~13-羅潔-余姚# 20170828(71/99) 【幸福三朵玫...
    幸福實修08班羅潔閱讀 157評論 0 2