日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

javascript - 為什么要在dependencies中聲明依賴?

瀏覽:198日期:2023-08-31 10:36:34

問題描述

看到說--save安裝的模塊,會顯示在dependencies中。并且dependencies中的模塊表示生產環境的依賴。比如jQuery。

但是我不懂的是,拿jQuery舉例。我為什么要在dependencies中聲明依賴?生產環境中,我會直接用script標簽引用jQuery,根本不需要dependencies。如果在dependencies中聲明了生產環境依賴的模塊,會怎么樣?會自動幫我添加script標簽還是比如模塊打包時,打包生產環境模塊時會把dependencies中的依賴全部打包進去?但是據我所知,比如webpack在模塊打包時是根據require的模塊創建的依賴圖表來打包的,所以我不太懂為什么要在dependencies聲明生產環境依賴。

問題解答

回答1:

我們在實際開發中會用到很多模塊,有些模塊(如,gulp,babel,這些放到devDependencies中)都只是開發環境中用到的,而jquery是用在生產環境中,當你部署項目到生產環境時,執行 npm install --production, 只會安裝dependencies中的模塊,這樣管理模塊就會很方便

回答2:

事實就是那個字段是設計給 node 的,所以你寫不寫都無所謂。

詳細來說,作為一個前端項目,你的依賴要么進行打包,要么是 script 標簽引入,所以你的 deps 字段里面有什么根本不會影響最終的代碼。

回答3:

如果你用<script>加入模塊的話,這個引入JS/CSS的方法本身用不到npm包管理,可以直接忽略package.json的配置問題

如果你使用如webpack進行打包。webpack在模塊打包時是根據require的模塊創建的依賴圖表來打包的,這的確沒錯。但是之后還有一步,就是webpack通過依賴圖表進行打包的時候,如果依賴圖表里有jQuery依賴,webpack還是要去找jQuery的文件,然后注入到打包的文件之中。如果你不寫dependencies的話,在團隊開發中,另一個人改了一點代碼,然后用npm install安裝了依賴包,再重新打包的時候,webpack創建出依賴圖表,依賴圖表中依賴了jQuery,然而webpack在node_modules里卻找不到要注入到目標文件的jQuery代碼,這樣他重新打包就會失敗。當然,如果你只有自己一個人開發的話,可以忽略這一點。

當然,dependencies還有一種應用情況,比如說我之前寫的一個node.js爬蟲。由于這個爬蟲是直接用node運行JS代碼的,所以我的JS文件里面require()的包都需要寫在dependencies里,部署的時候用npm install安裝完這些依賴,require才能夠讀取到對應的包。

回答4:

我覺得你可能是因為需要使用webpack去開發頁面,才使用node的。否則你不會去問dependencies和script之間的關系。這兩者之間毫無關系。

這里你揉雜了3個東西:

package.json的依賴管理

webpack的依賴管理

html中的腳本引入

 package.json的依賴管理

node不只是可以用來做頁面開發,還可以做很多事情,比如開發服務器程序,開發JS庫等等。dependencies記錄和保證你的項目在被使用時的依賴;devDependencies記錄和保證你的項目在被開發時的依賴。

舉一個例子,我們開發一個庫,并準備發布在NPM上。需要使用lodash.sample,開發時使用es6,并且還使用eslint對代碼風格進行規范。那么dependencies中就有lodash.sample,devDependencies就有babel和eslint。

dependencies就保證了任何人在install我們這個庫的時候,lodash.sample都會被安裝(否則這個庫將無法正確運行);devDependencies保證任何人在(或者你自己在其他設備上)對這個項目進行修改(開發)時,通過npm install就能獲取同樣的開發環境(打包,轉碼嗎,約束,構建等)。想想,如果你在另外一臺電腦上,想對開發這個庫的2.0版本,如果沒有devDependencies,你就需要手動的再次安裝babel和eslint等,要不你就要去從最初的項目中copy整個node_modules文件夾。

webpack的依賴管理

webpack是一個構建工具,可以用在頁面的開發中去,也可以用在其他地方。webpack的依賴管理確實是通過require尋找依賴,它不依賴dependencies。

還是上面庫的例子,我們可以使用webpack進行打包(那么devDependencies中應該有webpack)。就算你npm install --save了其他十幾個模塊,webpack時,也只會將lodash.sample打進來。

html中的腳本引入

webpack在用來開發頁面時,最先開始是將打包的js文件,手動的在html中以script形式引入,但是后來有插件幫我們自動完成這個過程。后來一些腳手架工具如vue-cli,內置負責的webpack配置,將整個過程優化和自動化。加上整個開發過程在node中完成,因此可能導致了你誤以為dependencies和script之間是否有聯系。

回到你的問題:“為什么要在dependencies聲明生產環境依賴”

原因是:不記錄這些依賴,其他人(或者你自己在其他設備上)進行再開發時,無法知道該項目需要引入哪些依賴,無法進行開發。如果你只是一個人不切換電腦的話,dependencies可以不使用。

回答5:

工作環境改變的時候,你的項目要是想正常運行。必須聲明依賴,這樣不管在哪里,只需要一句npm install即可還原工作環境,依賴什么的全部解決

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
中文字幕在线视频网站| av日韩中文| 欧美另类专区| 欧美+日本+国产+在线a∨观看| 久久免费黄色| 午夜日韩av| 免费在线观看精品| 日韩av不卡在线观看| 人人爱人人干婷婷丁香亚洲| 国产日本久久| 久久麻豆视频| 播放一区二区| 91久久在线| 亚洲一区激情| 久久国产日韩欧美精品| 精品视频自拍| 女同性一区二区三区人了人一| 夜夜精品视频| 国产视频一区二| 国产精品蜜芽在线观看| 国产亚洲一区在线| 国产丝袜一区| 亚洲激情五月| 久久超碰99| 亚洲精品在线观看91| 久久国产麻豆精品| 久久九九精品| 国产亚洲一区| 亚洲www免费| 日本成人在线不卡视频| 韩国久久久久久| 亚洲精品福利| 91精品蜜臀一区二区三区在线| 亚洲免费婷婷| 激情黄产视频在线免费观看| 日韩一区精品视频| 毛片在线网站| 国产欧美日韩免费观看| 91久久亚洲| 久久精品国产www456c0m| 国产精品久久久久久久久久久久久久久| 欧美成人a交片免费看| 天堂精品久久久久| 电影亚洲精品噜噜在线观看| 久久狠狠亚洲综合| 国产精品一区二区三区av麻| 国产精品人人爽人人做我的可爱| 国产96在线亚洲| 国产精品视频3p| 日韩视频1区| 亚洲天堂av资源在线观看| 久久久久91| 久久国产欧美| 日韩在线第七页| 精品久久久中文字幕| 国产欧美欧美| 国产欧美日韩精品高清二区综合区| 中文字幕av亚洲精品一部二部 | 天堂av在线一区| 蜜桃国内精品久久久久软件9| 久久国产电影| 精精国产xxxx视频在线野外| 国产一区二区久久久久| 麻豆精品国产91久久久久久| 国产精品一区二区三区av麻| 国产精品久久久久久模特| 国产亚洲第一伦理第一区| 91精品国产自产观看在线| 久久国产精品色av免费看| 91精品丝袜国产高跟在线| 日韩精品中文字幕一区二区| 亚洲精品人人| 国产精品对白| 日韩成人高清| 亚洲激情社区| 日韩欧美三区| 欧美国产另类| 超级白嫩亚洲国产第一| 亚洲免费在线| 国产一区日韩| 综合一区av| 午夜一级久久| 午夜精品福利影院| 国内精品亚洲| 欧美日韩四区| 视频在线观看91| 国产一区二区三区不卡视频网站 | 日韩在线一二三区| 午夜精品影视国产一区在线麻豆| 国产精品中文字幕亚洲欧美| 午夜欧美巨大性欧美巨大| 视频一区二区三区入口| 精品三区视频| 亚洲一区二区三区久久久| 国产一区不卡| 无码日韩精品一区二区免费| 高清一区二区| 91精品国产自产观看在线| 国产在线成人| 成人污污视频| 久久国产三级| 免费观看在线综合色| av免费不卡国产观看| 涩涩涩久久久成人精品| 三级小说欧洲区亚洲区| 国产精品嫩草影院在线看| 亚洲作爱视频| 91成人精品视频| 日韩深夜视频| 精品一区视频| 国产精品久久国产愉拍| 日本综合精品一区| 国产视频一区三区| 久久青草久久| 日本精品不卡| 不卡一二三区| 欧美天堂视频| 午夜影院一区| 91欧美在线| 大香伊人久久精品一区二区| 国产精品99精品一区二区三区∴| 午夜电影一区| 国产一精品一av一免费爽爽| 91成人小视频| 国产美女久久| 久久精品亚洲一区二区| 国产高清精品二区| 国产在线看片免费视频在线观看| 精品国产鲁一鲁****| 麻豆中文一区二区| 国产精品国产一区| 亚洲爱爱视频| 亚洲综合二区| 国产亚洲观看| 国产精品115| 日韩毛片视频| 国产亚洲激情| 国产精品久久久久久久久久妞妞| 精品久久美女| 国产高清久久| 日本麻豆一区二区三区视频| 国产精品日韩精品在线播放| 国产资源在线观看入口av| 亚洲激情五月| 欧美激情 亚洲a∨综合| 久久久国产亚洲精品| 综合国产视频| 色爱综合网欧美| 久久高清国产| 国产剧情在线观看一区| 美女网站视频一区| 亚洲精品综合| 91精品国产91久久久久久黑人| 蜜桃久久久久久| 国产suv精品一区| 日韩一区二区三免费高清在线观看| 精品国产91| 亚洲精品福利| 久久影院一区| 国产福利一区二区三区在线播放| 欧美+日本+国产+在线a∨观看| 日韩av三区| 久久福利精品| 91精品国产成人观看| 日韩欧美中文在线观看| 亚洲精品va| 日韩免费福利视频| 欧美日韩中文| 日本欧洲一区二区| 久久精品国内一区二区三区水蜜桃| 日韩av中文在线观看| 日韩视频一区| 日韩不卡免费高清视频| 里番精品3d一二三区| 亚洲精选91| 国产精品毛片在线看| 亚洲无线一线二线三线区别av| 国产精品一区二区精品| 自拍自偷一区二区三区| 久久精品影视| 久久久一本精品| 亚洲精品福利电影| 精品久久在线| 国产精品久久久久久久免费观看| 国产精品一区二区99| 欧美日韩一区二区国产| 奇米狠狠一区二区三区| 亚洲三级国产| 日韩精品亚洲aⅴ在线影院| 美女网站久久| 一区二区三区午夜视频| 快she精品国产999| 一级欧美视频| 91成人在线精品视频| 青草国产精品| 国产精品久久久网站| 麻豆精品视频在线观看免费| 高清一区二区三区av| 久久中文亚洲字幕| 日韩一区精品字幕|