webpack 運行邏輯

main.js 是主要的進入點(entry),webpack 會監控 main.js , 當main.js 有更動時 webpack 就自動編譯,編譯成 css,js 等遊覽器看得懂的語言。
由於 main.js 只是一個 js 檔案,無法看得懂 .vue 或者 .scss 檔,因此 webpack 有提供 loader 工具,來幫助 main.js 理解輸出這些檔案。
webpack 腳本檔案介紹
在 build 資料夾裡面有 webpack 腳本檔案,分別是:
- webpack.base.conf.js- 主要核心
 
- webpack.dev.conf.js- 給我們開發中預覽畫面用的
 
- webpack.prod.conf.js
- entry 進入點和 output 輸出點 
- loaer 的寫在這些 module- test: /.(png|jpe?g|gif|svg)(?.)?$/,test: /.(png|jpe?g|gif|svg)(?.)?$/ 這個 loader 會將圖檔小於 10 KB 的圖檔用 base64 方式編碼呈現 
 
- test: /.(png|jpe?g|gif|svg)(?.)?$/,test: /.(png|jpe?g|gif|svg)(?.)?$/ 這個 loader 會將圖檔小於 10 KB 的圖檔用 base64 方式編碼呈現
- resolve- extensions: [‘.js’, ‘.vue’, ‘.json’],這是讓你可以省略副檔名的
- alias:裡面是放各種路徑的縮寫,像是 src 就可以用 @ 來替代 
 
config 環境變數
在 webpack.base.conf.js 的 output 裡面你會看到它輸出的路徑 path: config.build.assetsRoot,裡面的 build 就代表 build 資料夾,裡面檔案如下:
- index.js 代表整個運行環境,比如設定 port 口
- dev.env.js 設定開發時的環境變數
- prod.env.js 設定發布時的環境變數
- 開發時和發布時環境變數可能不太一樣(ajax路徑不相同)自定義環境變數
1.我們在 dev.env.js 的 module.exports 底下新增一個環境變數
記得除了加上’’外還要加””,不然會出錯,還有記得改完後要重啟環境,因為我們新增的是環境變數。
| 1 | HTTP_PATH: '"http://localhost/"' | 

2.最後我們來到 scr/components 裡面的 App.vue 檔,移到最下面 js 部分,在 return 資料的部分,我們輸出兩個環境變數
| 1 | msg: process.env.NODE_ENV, | 

3.使用 npm run dev重啟環境,環境變數加入成功