最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文搞懂npm?install?意義

 更新時(shí)間:2022年12月01日 10:50:25   作者:Never?Yu  
我們?cè)诎惭b依賴包的時(shí)候,不需要過多的去糾結(jié)是使用?-S?還是?-D?呢??隨便安裝到?dependencies?或者?devDependencies?里都行,反正?npm?install的時(shí)候,都會(huì)安裝dependencies?和?devDependencies依賴,今天通過本文學(xué)習(xí)npm?install意義,感興趣的朋友跟隨小編一起看看吧

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

【項(xiàng)目依賴包是放在 dependencies 和 devDependencies ?】

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

下面進(jìn)入正文

  • npm install 也支持直接輸入 Github 代碼庫地址
$ 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)程倉庫已經(jīng)有了一個(gè)新版本,也是如此。

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

$ npm install <packageName> --force

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

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

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

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

其實(shí)不然!

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

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

【所以,我們做好 dependencies 和 devDependencies 的區(qū)分的話,在使用 npm install --production 的時(shí)候,還是有區(qū)別的?!?/p>

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

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

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

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

dependencies 依賴

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

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

devDependencies 開發(fā)依賴

【在我們開發(fā)的時(shí)候會(huì)用到的一些包,只是在開發(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í)候,就可以讓人一眼看出來,這個(gè)模塊的基本信息,和這個(gè)模塊所需要依賴的包。我們可以通過 npm install 就可以很方便的下載好這個(gè)模塊所需要的包。

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

相關(guān)文章

  • 詳解使用PM2管理nodejs進(jìn)程

    詳解使用PM2管理nodejs進(jìn)程

    本篇文章主要介紹了詳解使用PM2管理nodejs進(jìn)程,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • Node中的util.promisify()方法的基本使用和實(shí)現(xiàn)

    Node中的util.promisify()方法的基本使用和實(shí)現(xiàn)

    眾所周知,在JS中實(shí)現(xiàn)異步編程主要是通過以下幾種方案,回調(diào)函數(shù),觀察者模式,Generator,Promise,async / await ,今天就和大家一起聊一下在node中的一個(gè)util.promisify()這個(gè)API的基本使用和基本實(shí)現(xiàn)
    2023-07-07
  • Node.js 實(shí)現(xiàn)簡單的無侵入式緩存框架的方法

    Node.js 實(shí)現(xiàn)簡單的無侵入式緩存框架的方法

    這篇文章主要介紹了Node.js 實(shí)現(xiàn)簡單的無侵入式緩存框架的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 切換到淘寶最新npm鏡像源的全面指南(支持 Windows、macOS 和多種 Linux 發(fā)行版)

    切換到淘寶最新npm鏡像源的全面指南(支持 Windows、macOS 和多種 Linux

    在開發(fā)過程中,npm 是前端開發(fā)者不可或缺的工具,但對(duì)于國內(nèi)的開發(fā)者來說,npm 官方源在下載速度上存在一定的瓶頸,本文將詳細(xì)介紹如何在 Windows、macOS 以及各類 Linux 發(fā)行版上切換到淘寶的 npm 鏡像源,需要的朋友可以參考下
    2025-03-03
  • 淺析nodejs實(shí)現(xiàn)Websocket的數(shù)據(jù)接收與發(fā)送

    淺析nodejs實(shí)現(xiàn)Websocket的數(shù)據(jù)接收與發(fā)送

    WebSocket是HTML5開始提供的一種瀏覽器與服務(wù)器間進(jìn)行全雙工通訊的網(wǎng)絡(luò)技術(shù),本文給大家介紹nodejs實(shí)現(xiàn)websocket的數(shù)據(jù)庫接收與發(fā)送,小伙伴們一起學(xué)習(xí)吧
    2015-11-11
  • 如何用node.js作為后臺(tái),讀寫xml文件,Node.js的文件系統(tǒng)的Api

    如何用node.js作為后臺(tái),讀寫xml文件,Node.js的文件系統(tǒng)的Api

    這篇文章主要介紹了如何用node.js作為后臺(tái),讀寫xml文件,Node.js的文件系統(tǒng)的Api,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Node.js中Nodemon工具的具體使用

    Node.js中Nodemon工具的具體使用

    Nodemon是一個(gè)Node.js開發(fā)工具,用于自動(dòng)監(jiān)控文件變化并重啟服務(wù)器,本文就來介紹一下Nodemon工具的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-12-12
  • 如何構(gòu)建一個(gè)?NodeJS?影院微服務(wù)并使用?Docker?部署

    如何構(gòu)建一個(gè)?NodeJS?影院微服務(wù)并使用?Docker?部署

    微服務(wù)是一個(gè)單獨(dú)的自包含單元,與其他許多單元一起構(gòu)成一個(gè)大型應(yīng)用程序,這篇文章主要介紹了如何構(gòu)建一個(gè)NodeJS影院微服務(wù)并使用Docker部署,在這個(gè)系列中,將構(gòu)建一個(gè) NodeJS 微服務(wù),并使用 Docker Swarm 集群進(jìn)行部署,需要的朋友可以參考下
    2023-08-08
  • nodejs入門教程六:express模塊用法示例

    nodejs入門教程六:express模塊用法示例

    這篇文章主要介紹了nodejs入門教程之express模塊用法,結(jié)合實(shí)例形式分析了express模塊的功能、創(chuàng)建、路由相關(guān)使用技巧,需要的朋友可以參考下
    2017-04-04
  • node.js使用zlib模塊進(jìn)行數(shù)據(jù)壓縮和解壓操作示例

    node.js使用zlib模塊進(jìn)行數(shù)據(jù)壓縮和解壓操作示例

    這篇文章主要介紹了node.js使用zlib模塊進(jìn)行數(shù)據(jù)壓縮和解壓操作,結(jié)合實(shí)例形式詳細(xì)分析了node.js基于zlib模塊創(chuàng)建數(shù)據(jù)流以及壓縮和解壓縮等相關(guān)操作技巧,需要的朋友可以參考下
    2020-02-02

最新評(píng)論

忻城县| 余姚市| 孟州市| 雷波县| 澄城县| 双城市| 永和县| 肇源县| 顺义区| 察隅县| 探索| 富蕴县| 黑山县| 阿城市| 常熟市| 盐山县| 嘉峪关市| 临西县| 剑阁县| 日照市| 上虞市| 容城县| 剑川县| 同仁县| 新泰市| 方正县| 香格里拉县| 甘谷县| 安陆市| 历史| 修武县| 榆林市| 卢氏县| 皋兰县| 宁晋县| 莒南县| 宜宾县| 湾仔区| 霞浦县| 怀化市| 轮台县|