国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

關于vue的npm run dev和npm run build的區別介紹

2019-11-19 12:17:43
字體:
來源:轉載
供稿:網友

關于vue的npm run dev和npm run build的區別介紹,下面就分享給大家,具體如下:

├─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

以上是關于bulid與run的所有文件

指令分析

package.json里面

"dev": "node build/dev-server.js","build": "node build/build.js",

意思:運行”npm run dev”的時候執行的是build/dev-server.js文件,

運行”npm run build”的時候執行的是build/build.js文件。

build文件夾分析

build/dev-server.js

npm run dev 執行的文件build/dev-server.js文件,執行了:

  • 檢查node和npm的版本
  • 引入相關插件和配置
  • 創建express服務器和webpack編譯器
  • 配置開發中間件(webpack-dev-middleware)和熱重載中間件(webpack-hot-middleware)
  • 掛載代理服務和中間件
  • 配置靜態資源
  • 啟動服務器監聽特定端口(8080)
  • 自動打開瀏覽器并打開特定網址(localhost:8080)

說明: express服務器提供靜態文件服務,不過它還使用了http-proxy-middleware,一個http請求代理的中間件。前端開發過程中需要使用到后臺的API的話,可以通過配置proxyTable來將相應的后臺請求代理到專用的API服務器。

build/webpack.base.conf.js

dev-server依賴的webpack配置是webpack.dev.conf.js文件,

測試環境下使用的是webpack.prod.conf.js

webpack.dev.conf.js中又引用了webpack.base.conf.js

webpack.base.conf.js主要完成了下面這些事情:

  • 配置webpack編譯入口
  • 配置webpack輸出路徑和命名規則
  • 配置模塊resolve規則
  • 配置不同類型模塊的處理規則

這個配置里面只配置了.js、.vue、圖片、字體等幾類文件的處理規則,如果需要處理其他文件可以在module.rules里面配置。

build/webpack.dev.conf.js

在webpack.base.conf的基礎上增加完善了開發環境下面的配置,主要包括下面幾件事情:

將hot-reload相關的代碼添加到entry chunks

  • 合并基礎的webpack配置
  • 使用styleLoaders
  • 配置Source Maps
  • 配置webpack插件

build/check-versions.js和build/dev-client.js

最后是build文件夾下面兩個比較簡單的文件,

dev-client.js似乎沒有使用到,代碼也比較簡單,這里不多講。

check-version.js完成對node和npm的版本檢測

build/utils.js和build/vue-loader.conf.js

webpack配置文件中使用到了utils.js和vue-loader.conf.js這兩個文件,utils主要完成下面3件事:

  • 配置靜態資源路徑
  • 生成cssLoaders用于加載.vue文件中的樣式
  • 生成styleLoaders用于加載不在.vue文件中的單獨存在的樣式文件

vue-loader.conf則只配置了css加載器以及編譯css之后自動添加前綴。

build/build.js

構建環境下的配置,

build.js主要完成下面幾件事:

  • loading動畫
  • 刪除創建目標文件夾
  • webpack編譯
  • 輸出信息

build/webpack.prod.conf.js

構建的時候用到的webpack配置來自webpack.prod.conf.js,該配置同樣是在webpack.base.conf基礎上的進一步完善。主要完成下面幾件事情:

  • 合并基礎的webpack配置
  • 使用styleLoaders
  • 配置webpack的輸出
  • 配置webpack插件
  • gzip模式下的webpack插件配置
  • webpack-bundle分析

說明: webpack插件里面多了丑化壓縮代碼以及抽離css文件等插件。

config文件夾分析

config/index.js

config文件夾下最主要的文件就是index.js了,

在這里面描述了開發和構建兩種環境下的配置,前面的build文件夾下也有不少文件引用了index.js里面的配置。

config/dev.env.js、config/prod.env.js和config/test.env.js

這三個文件就簡單設置了環境變量而已,沒什么特別的。

這是webpack的基本入門,webpack還有很多插件,還需要去探索

后面寫這幾個文件的源碼解釋。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 左贡县| 柞水县| 青浦区| 浦城县| 凤冈县| 望都县| 邢台县| 二手房| 西和县| 河源市| 景宁| 贵州省| 东宁县| 衡阳县| 尼勒克县| 阿克陶县| 广平县| 新安县| 瑞昌市| 五常市| 临洮县| 南京市| 长治市| 叶城县| 鹿邑县| 石楼县| 喀什市| 海丰县| 仁寿县| 法库县| 冷水江市| 阳泉市| 岗巴县| 朝阳县| 安丘市| 苍梧县| 兴山县| 日喀则市| 固始县| 安国市| 石泉县|