從 0 開始的 webpack 5 專案(6) Babel
使用 Babel loader 來編譯 js
使用 Babel loader 來編譯 js
使用 web-dev-server 開啟 模擬伺服器
使用 webpack-clean 清除舊檔案
使用 html template 動態載入js內容
上一篇安裝完好後,我們的專案目前是這樣
1 | node_modules |
再來在跟目錄上新增 ‵webpack.config.js`。
通常我們在開發時,都會有開發模式、部署模式這兩種模式,在此就主要是透過 mode 屬性來設置。
1 | module.exports = { |
第一步要設定的是 entry point,也就是 webpack 會以哪支檔案作為進入點來開始打包檔案。換句話說,所有要被編譯的檔案都要import到進入點。
此範例中,我們將進入點設在 src/index.js
1 | const path = require('path') |
Output 是打包後檔案輸出的位置,設定在 /dist
資料夾。這邊的 [name] 會自動帶入 entry 設定的 main。[contenthash] 則是會生成一組 hash 而這個生成邏輯會依據提取的內容來生成。
為什麼會使用到 hash,最主要是避免瀏覽器的緩存問題,我們在開發時,通常會瘋狂的重新整理,而這過程就有可能導致緩存發生而無法確定我們修改的內容,那麼透過 hash 每一次存擋就重新生成不同的檔案名稱,這樣子瀏覽器就不會緩存內容了。
1 | module.exports = { |
最後在 package.json 中的 scripts 屬性增加一行啟動指令
1 | "scripts": { |
然後在終端機輸入 npm run build
就可以成功打包檔案。此時專案資料夾下會多出一個 dist 資料夾。
在以前做網頁開發時,可能只需要處理html、css、js檔案就可以了。但現在前端開發工具越來越多,像css有scss的預處理器、html可以用pug來寫等等。此時就須要一個工具來將這些scss、pug檔案編譯成css跟html。
webpack 就是主要負責幫我們整合並打包成瀏覽器看得懂的 CSS、HTML、JavaScript 以及 Image。
首先先開啟一個新的專案資料夾,叫做 webpack-starter,並用 npm -y 來新增 package.json檔案。
1 | mkdir webpack-starter |
再來安裝 webpack
和 webpack-cli
1 | npm i -D webpack webpack-cli |
再來在專案下新增 src 資料夾,並在 src 裡新增 index.js檔案
1 | console.log('Interesting!') |
到這邊就完成專案基本設定囉。
使用導航守衛
vue-router 滾動行為
使用 redirect 重新導向
在一個元件呈現多個視圖