前言:之前一直不懂既然都是項(xiàng)目的依賴,為什么要分成兩個部分洲愤,devDependencies和dependencies夫否,有什么區(qū)別?
安裝方式
我們在通過npm安裝插件或庫時局待,有三種方式:
npm install:將插件安裝到項(xiàng)目斑响,但不寫package.json(不推薦,這樣最終需要手動添加)
npm install --save:將插件安裝進(jìn)項(xiàng)目钳榨,并寫入package.json的dependencies中
npm install --save-dev:將插件安裝進(jìn)項(xiàng)目舰罚,并寫入package.json的devDependencies中
很明顯,--save表示保存到package.json中(默認(rèn)為dependencies)薛耻,-dev表示保存在package.json的devDependencies中
區(qū)別
dev是develop的縮寫营罢,即表示開發(fā)模式,所以:
devDependencies保存的依賴是只用于開發(fā)環(huán)境,不用于生產(chǎn)環(huán)境饲漾;
dependencies保存的依賴用于生產(chǎn)環(huán)境蝙搔。
生產(chǎn)環(huán)境與開發(fā)環(huán)境
所謂開發(fā)環(huán)境,就是指開發(fā)階段考传,比如webpack吃型,gulp這些工具,都只是在開發(fā)階段需要僚楞,一旦項(xiàng)目真正投入使用勤晚,便不再依賴這些插件,所以將其安裝在devDependencies即可泉褐;
生產(chǎn)環(huán)境赐写,則表示項(xiàng)目真正投入使用時,此時仍然需要依賴的插件則需要安裝在dependencies中膜赃,比如vue挺邀,vue-router,jQuery這些财剖,dependencies中沒有這些插件悠夯,項(xiàng)目真實(shí)使用時就會出錯。