devDependencies dependencies env

問題

項(xiàng)目中使用yarn install,只安裝了在dependency中的依賴

知識

devDependencies 和 dependencies區(qū)別

  • devDependencies:

    指的是項(xiàng)目開發(fā)過程中所需要的模塊

    • 安裝時機(jī):

      只有當(dāng)前的環(huán)境變量值是 `develpoment`: 才會安裝devDependencies中的依賴
      
      • 沒有設(shè)置環(huán)境變量的時候: 環(huán)境變量是develpoment
  • dependencies

    指的是項(xiàng)目運(yùn)行所依賴的模塊

    • 安裝時機(jī):

      不論當(dāng)前環(huán)境變量是什么,dependencies中的依賴都會被安裝
      
  • Note:項(xiàng)目中必須嚴(yán)格區(qū)分不同dependency的安裝方式

dependency安裝方式混亂對項(xiàng)目影響

  • 導(dǎo)致不同環(huán)境安裝的包不全

    舉個例子:

    • 部署項(xiàng)目到production,設(shè)置此時的環(huán)境變量NODE_ENV:production
    • 此時進(jìn)行yarn install會安裝package.json:dependencies中的依賴
    • 但是項(xiàng)目的某個文件中import {dev-tool} from 'devDependency'import了一個安裝在devDependencies中的依賴
    • 此時打包,webpack會將import的所有3rd party都打包到一個chunk中,但是直接報錯,因?yàn)楫?dāng)前只安裝了dependencies中的依賴,找不到此時import的devTool了

使用包管理器根據(jù)不同的環(huán)境變量安裝不同依賴的方式

  • yarn

    使用yarn install可以安裝項(xiàng)目中的依賴

    • 沒有設(shè)置環(huán)境變量,或者export NODE_ENV=(除了production以外的任何環(huán)境變量值)
      - 安裝devDependency和dependency
    • 設(shè)置export NODE_ENV=production或者執(zhí)行yarn install --production/yarn install --prod/yarn install --production=true
      • 安裝dependency
  • 假設(shè)當(dāng)前的NODE_ENV=prodcution如何才能既安裝devDependency也安裝dependency?
    - 執(zhí)行yarn install --production=false

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,616評論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,276評論 6 342
  • 簡介 概述 Maven 是一個項(xiàng)目管理和整合工具 Maven 為開發(fā)者提供了一套完整的構(gòu)建生命周期框架 Maven...
    閩越布衣閱讀 4,535評論 6 39
  • Yarn 初始化一個項(xiàng)目 yarn init 相當(dāng) npm init yarn add添加一個包 相當(dāng) ...
    FConfidence閱讀 29,009評論 5 19
  • 平心而論,我自認(rèn)為不是一個歧視別人或者帶有世俗眼光的人,相反我覺得每個人都會有基本的同情心和正義感??墒鞘聦?shí)上在這...
    拘水明月長相知閱讀 849評論 0 1

友情鏈接更多精彩內(nèi)容