0%

Vue Cli-Webpack

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
    • 輸出真正產品用的

      webpack.base 介紹

  • entry 進入點和 output 輸出點
  • loaer 的寫在這些 module
    • 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
2
msg: process.env.NODE_ENV,
http: process.env.HTTP_PATH


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