關(guān)于vue的npm run dev和npm run build的區(qū)別介紹
關(guān)于vue的npm run dev和npm run build的區(qū)別介紹,下面就分享給大家,具體如下:
├─build │ ├─build.js │ ├─check-versions.js │ ├─dev-client.js │ ├─dev-server.js │ ├─utils.js │ ├─vue-loader.conf.js │ ├─webpack.base.conf.js │ ├─webpack.dev.conf.js │ ├─webpack.prod.conf.js │ └─webpack.test.conf.js ├─config │ ├─dev.env.js │ ├─index.js │ ├─prod.env.js │ └─test.env.js ├─... └─package.json
以上是關(guān)于bulid與run的所有文件
指令分析
package.json里面
"dev": "node build/dev-server.js", "build": "node build/build.js",
意思:運(yùn)行”npm run dev”的時(shí)候執(zhí)行的是build/dev-server.js文件,
運(yùn)行”npm run build”的時(shí)候執(zhí)行的是build/build.js文件。
build文件夾分析
build/dev-server.js
npm run dev 執(zhí)行的文件build/dev-server.js文件,執(zhí)行了:
- 檢查node和npm的版本
- 引入相關(guān)插件和配置
- 創(chuàng)建express服務(wù)器和webpack編譯器
- 配置開發(fā)中間件(webpack-dev-middleware)和熱重載中間件(webpack-hot-middleware)
- 掛載服務(wù)和中間件
- 配置靜態(tài)資源
- 啟動(dòng)服務(wù)器特定端口(8080)
- 自動(dòng)打開瀏覽器并打開網(wǎng)址(localhost:8080)
說(shuō)明: express服務(wù)器提供靜態(tài)文件服務(wù),不過(guò)它還使用了http-proxy-middleware,一個(gè)http請(qǐng)求的中間件。前端開發(fā)過(guò)程中需要使用到后臺(tái)的API的話,可以通過(guò)配置proxyTable來(lái)將相應(yīng)的后臺(tái)請(qǐng)求到專用的API服務(wù)器。
build/webpack.base.conf.js
dev-server依賴的webpack配置是webpack.dev.conf.js文件,
測(cè)試環(huán)境下使用的是webpack.prod.conf.js
webpack.dev.conf.js中又引用了webpack.base.conf.js
webpack.base.conf.js主要完成了下面這些事情:
- 配置webpack編譯入口
- 配置webpack輸出路徑和命名規(guī)則
- 配置模塊resolve規(guī)則
- 配置不同類型模塊的處理規(guī)則
這個(gè)配置里面只配置了.js、.vue、圖片、字體等幾類文件的處理規(guī)則,如果需要處理其他文件可以在module.rules里面配置。
build/webpack.dev.conf.js
在webpack.base.conf的基礎(chǔ)上增加完善了開發(fā)環(huán)境下面的配置,主要包括下面幾件事情:
將hot-reload相關(guān)的代碼添加到entry chunks
- 合并基礎(chǔ)的webpack配置
- 使用styleLoaders
- 配置Source Maps
- 配置webpack插件
build/check-versions.js和build/dev-client.js
最后是build文件夾下面兩個(gè)比較簡(jiǎn)單的文件,
dev-client.js似乎沒有使用到,代碼也比較簡(jiǎn)單,這里不多講。
check-version.js完成對(duì)node和npm的版本檢測(cè)
build/utils.js和build/vue-loader.conf.js
webpack配置文件中使用到了utils.js和vue-loader.conf.js這兩個(gè)文件,utils主要完成下面3件事:
- 配置靜態(tài)資源路徑
- 生成cssLoaders用于加載.vue文件中的樣式
- 生成styleLoaders用于加載不在.vue文件中的單獨(dú)存在的樣式文件
vue-loader.conf則只配置了css加載器以及編譯css之后自動(dòng)添加前綴。
build/build.js
構(gòu)建環(huán)境下的配置,
build.js主要完成下面幾件事:
- loading動(dòng)畫
- 刪除創(chuàng)建目標(biāo)文件夾
- webpack編譯
- 輸出信息
build/webpack.prod.conf.js
構(gòu)建的時(shí)候用到的webpack配置來(lái)自webpack.prod.conf.js,該配置同樣是在webpack.base.conf基礎(chǔ)上的進(jìn)一步完善。主要完成下面幾件事情:
- 合并基礎(chǔ)的webpack配置
- 使用styleLoaders
- 配置webpack的輸出
- 配置webpack插件
- gzip模式下的webpack插件配置
- webpack-bundle分析
說(shuō)明: webpack插件里面多了壓縮代碼以及抽離css文件等插件。
config文件夾分析
config/index.js
config文件夾下最主要的文件就是index.js了,
在這里面描述了開發(fā)和構(gòu)建兩種環(huán)境下的配置,前面的build文件夾下也有不少文件引用了index.js里面的配置。
config/dev.env.js、config/prod.env.js和config/test.env.js
這三個(gè)文件就簡(jiǎn)單設(shè)置了環(huán)境變量而已,沒什么特別的。
這是webpack的基本入門,webpack還有很多插件,還需要去探索
后面寫這幾個(gè)文件的源碼解釋。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue2.0實(shí)現(xiàn)選項(xiàng)卡導(dǎo)航效果
這篇文章主要為大家詳細(xì)介紹了vue2.0實(shí)現(xiàn)選項(xiàng)卡導(dǎo)航效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
VUE element-ui 寫個(gè)復(fù)用Table組件的示例代碼
本篇文章主要介紹了VUE element-ui 寫個(gè)復(fù)用Table組件的示例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
關(guān)于新建的vue3項(xiàng)目一直提示代碼格式警告的問(wèn)題
這篇文章主要介紹了關(guān)于新建的vue3項(xiàng)目一直提示代碼格式警告的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10
Vue出現(xiàn)彈出層時(shí)禁止底部頁(yè)面跟隨滑動(dòng)
本文主要介紹了Vue出現(xiàn)彈出層時(shí)禁止底部頁(yè)面跟隨滑動(dòng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
VUE3?Vite打包后動(dòng)態(tài)圖片資源不顯示問(wèn)題解決方法
這篇文章主要給大家介紹了關(guān)于VUE3?Vite打包后動(dòng)態(tài)圖片資源不顯示問(wèn)題的解決方法,可能是因?yàn)樵诓渴鸷蟮姆?wù)器環(huán)境中對(duì)中文文件名的支持不完善,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09
Vue3中Element Plus Table(表格)點(diǎn)擊獲取對(duì)應(yīng)id方式
這篇文章主要介紹了Vue3中Element Plus Table(表格)點(diǎn)擊獲取對(duì)應(yīng)id方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10
vue3如何實(shí)現(xiàn)在style中使用響應(yīng)式變量
vue3已經(jīng)內(nèi)置了這個(gè)功能啦,可以在style中使用v-bind指令綁定script模塊中的響應(yīng)式變量,這篇文章我們來(lái)講講vue是如何實(shí)現(xiàn)在style中使用script模塊中的響應(yīng)式變量,感興趣的朋友一起看看吧2024-07-07

