亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

npm install 你很明白嗎?

SnaiLiu / 506人閱讀

摘要:你很明白嗎依賴(lài)開(kāi)發(fā)依賴(lài)當(dāng)我們敲的時(shí)候會(huì)安裝哪些依賴(lài),和都會(huì)安裝嗎還是只安裝項(xiàng)目依賴(lài)包是放在和簡(jiǎn)單問(wèn)兩個(gè)問(wèn)題,勾起大家對(duì),,的回憶。和還是有明顯區(qū)別的。結(jié)論當(dāng)你在開(kāi)發(fā)一個(gè)包的時(shí)候,還是要好好管理你的依賴(lài)和依賴(lài)。

npm install 你很明白嗎
dependencies 依賴(lài)
devDependencies 開(kāi)發(fā)依賴(lài)

【當(dāng)我們敲 npm install 的時(shí)候會(huì)安裝哪些依賴(lài),dependencies 和 devDependencies 都會(huì)安裝嗎?還是只安裝 dependencies ?】
【項(xiàng)目依賴(lài)包是放在 dependencies 和 devDependencies ?】

簡(jiǎn)單問(wèn)兩個(gè)問(wèn)題,勾起大家對(duì) npm install,dependencies ,devDependencies 的回憶。

下面進(jìn)入正文

npm install 也支持直接輸入 Github 代碼庫(kù)地址

npm install git://github.com/package/path.git
npm install git://github.com/package/path.git#0.1.0

安裝之前,npm install 會(huì)先檢查,node_modules 目錄之中是否已經(jīng)存在指定模塊。如果存在,就不再重新安裝了,即使遠(yuǎn)程倉(cāng)庫(kù)已經(jīng)有了一個(gè)新版本,也是如此。

如果你希望,一個(gè)模塊不管是否安裝過(guò), npm 都要強(qiáng)制重新安裝,可以使用 -f 或 --force 參數(shù)。

npm install  --force

npm install 的時(shí)候會(huì)安裝哪個(gè)里面的依賴(lài)?dependencies 還是 devDependencies

【npm install 默認(rèn)會(huì)安裝 dependencies 字段和 devDependencies 字段中的所有模塊】。 如果軟件包具有 package-lock 或 shrinkwrap 文件,則依賴(lài)項(xiàng)的安裝將由此驅(qū)動(dòng),如果兩個(gè)文件都存在,則 npm-shrinkwrap.json 優(yōu)先。 請(qǐng)參閱 package-lock.json 和 npm-shrinkwrap。

【ok,那么也就是說(shuō),當(dāng)我們?cè)谀玫揭粋€(gè)項(xiàng)目的時(shí)候,使用 npm install 是會(huì)安裝 dependencies 和 devDependencies 里所有的依賴(lài)包的。】

那么是否意味著,我們?cè)诎惭b依賴(lài)包的時(shí)候,不需要過(guò)多的去糾結(jié)是使用 -S 還是 -D 呢 ?隨便安裝到 dependencies 或者 devDependencies 里都行,反正 npm install 的時(shí)候,都會(huì)安裝 dependencies 和 devDependencies 里面的依賴(lài)。

其實(shí)不然!

如果使用 --production 參數(shù),可以只安裝 dependencies 字段的模塊。

$ npm install --production
或者
$ NODE_ENV=production npm install

【所以,我們做好 dependencies 和 devDependencies 的區(qū)分的話(huà),在使用 npm install --production 的時(shí)候,還是有區(qū)別的。】

不過(guò),感覺(jué)這個(gè) npm install --production 的使用場(chǎng)景不是很多。我好像沒(méi)怎么用,可能以后會(huì)用到吧。

內(nèi)心os:既然 npm install --production 我用不到,那我在安裝依賴(lài)包的時(shí)候,還是隨意吧,放到 dependencies 或者 devDependencies 都無(wú)所謂,反正 npm install 的時(shí)候會(huì)把 dependencies 和 devDependencies 里面的依賴(lài)包都安裝下來(lái)。哈哈~~,隨意使用 -S 或者 -D 咯~

錯(cuò)!
錯(cuò)!!
錯(cuò)!??!
這樣想就錯(cuò)了。dependencies 和 devDependencies 還是有明顯區(qū)別的。我們接著來(lái)看。

我們?cè)诎惭b依賴(lài)包的時(shí)候,要如何區(qū)分是安裝到 dependencies 還是 devDependencies 中呢?

dependencies 依賴(lài)
這個(gè)可以說(shuō)是我們 npm 核心一項(xiàng)內(nèi)容,依賴(lài)管理,這個(gè)對(duì)象里面的內(nèi)容就是我們這個(gè)項(xiàng)目所依賴(lài)的 js 模塊包。下面這段代碼表示我們依賴(lài)了 markdown-it 這個(gè)包,版本是 ^8.1.0 ,代表最小依賴(lài)版本是 8.1.0 ,如果這個(gè)包有更新,那么當(dāng)我們使用 npm install 命令的時(shí)候,npm 會(huì)幫我們下載最新的包。當(dāng)別人引用我們這個(gè)包的時(shí)候,包內(nèi)的依賴(lài)包也會(huì)被下載下來(lái)。

"dependencies": {
    "markdown-it": "^8.1.0"
}

devDependencies 開(kāi)發(fā)依賴(lài)
【在我們開(kāi)發(fā)的時(shí)候會(huì)用到的一些包,只是在開(kāi)發(fā)環(huán)境中需要用到,但是在別人引用我們包的時(shí)候,不會(huì)用到這些內(nèi)容,放在 devDependencies 的包,在別人引用的時(shí)候不會(huì)被 npm 下載】。

"devDependencies": {
    "autoprefixer": "^6.4.0",0",
    "babel-preset-es2015": "^6.0.0",
    "babel-preset-stage-2": "^6.0.0",
    "babel-register": "^6.0.0",
    "webpack": "^1.13.2",
    "webpack-dev-middleware": "^1.8.3",
    "webpack-hot-middleware": "^2.12.2",
    "webpack-merge": "^0.14.1",
    "highlightjs": "^9.8.0"
}

當(dāng)你有了一個(gè)完整的 package.json 文件的時(shí)候,就可以讓人一眼看出來(lái),這個(gè)模塊的基本信息,和這個(gè)模塊所需要依賴(lài)的包。我們可以通過(guò) npm install 就可以很方便的下載好這個(gè)模塊所需要的包。

結(jié)論:當(dāng)你在開(kāi)發(fā)一個(gè) npm 包的時(shí)候,還是要好好管理你的 dependencies 依賴(lài) 和 devDependencies 依賴(lài)。 之前有個(gè)同事寫(xiě)了一個(gè) loading 組件,發(fā)到 npm 上面去了,他跟我說(shuō)簡(jiǎn)單好用,我就用了。但是我發(fā)現(xiàn)他這么小的一個(gè)組件,為什么包這么大。一看,原來(lái)他寫(xiě)這個(gè) npm 包的時(shí)候,所有的依賴(lài)都放到 dependencies 里面了(包括 gulp,browser-asyc,壓縮代碼的,express…等等一些他開(kāi)發(fā)時(shí)用的工具)。

你們說(shuō),他是不是挺狠的!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/110232.html

相關(guān)文章

  • [譯] Webpack 前端構(gòu)建集成方案

    摘要:現(xiàn)在,讓我們創(chuàng)建項(xiàng)目的入口,并使用然后創(chuàng)建我們的配置,文件名為,的配置文件是一個(gè),并且需要成一個(gè)對(duì)象在這里,告訴那些文件是你應(yīng)用的入口。代碼分割便是用來(lái)解決之前所說(shuō)的單集成模塊不可維護(hù)的引用的問(wèn)題。 構(gòu)建工具逐漸成為前端工程必備的工具,Grunt、Gulp、Fis、Webpack等等,譯者有幸使用過(guò)Fis、Gulp。前者是百度的集成化方案,提供了一整套前端構(gòu)建方案,優(yōu)點(diǎn)是基本幫你搞定了...

    lewif 評(píng)論0 收藏0
  • 你見(jiàn)過(guò)用命令行寫(xiě)的簡(jiǎn)歷?

    摘要:異步任務(wù)的核心是名稱(chēng)與任務(wù)名一致的函數(shù),該函數(shù)接受兩個(gè)參數(shù)一個(gè)函數(shù)和命令行的輸入值。 廢話(huà):如果是不能給 hr 發(fā)這樣的簡(jiǎn)歷之類(lèi)大家都懂的話(huà),麻煩您就不要回復(fù)了,謝謝! 國(guó)際慣例: https://github.com/dongsuo/vu... 正文: 作為一名程序員,還是有一份有特色的在線(xiàn)簡(jiǎn)歷會(huì)比較好吧……在線(xiàn)簡(jiǎn)歷很容易做得很丑哎……套模板這種事情有點(diǎn)丟人呀……那……干嘛不用程序...

    zhou_you 評(píng)論0 收藏0
  • 5女孩:北京的你如此美麗。

    摘要:佳佳是我朋友里面最優(yōu)秀的女孩之一,事業(yè)順利,能力也十分拔尖,最近一直在安排移民加拿大的事宜。其實(shí)我已經(jīng)準(zhǔn)備了一年多,前前后后的,連我北京的房子都賣(mài)了。佳佳,就是那個(gè)非常勇敢的人。我笑了笑,也許未來(lái)她在北京要比溫哥華美麗和快樂(lè)的多。 showImg(https://segmentfault.com/img/bV1Dr0?w=3500&h=1438); 你的能量,超出你想象!---紅牛 忙...

    MarvinZhang 評(píng)論0 收藏0
  • 5女孩:北京的你如此美麗。

    摘要:佳佳是我朋友里面最優(yōu)秀的女孩之一,事業(yè)順利,能力也十分拔尖,最近一直在安排移民加拿大的事宜。其實(shí)我已經(jīng)準(zhǔn)備了一年多,前前后后的,連我北京的房子都賣(mài)了。佳佳,就是那個(gè)非常勇敢的人。我笑了笑,也許未來(lái)她在北京要比溫哥華美麗和快樂(lè)的多。 showImg(https://segmentfault.com/img/bV1Dr0?w=3500&h=1438); 你的能量,超出你想象!---紅牛 忙...

    icattlecoder 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<