Day15 的練習中,透過 loader 讓 Webpack 可以讀懂 css 語言,網頁中的元素除了 css 樣式外還會有圖片、字型等等需要使用 loader 來處理,Webapck 5 版本整合了這些靜態資源的 loader 成為一包 Asset Modules,可以直接使用。
modules | 取代的loader | 功用 |
---|---|---|
asset/resource | file-loader | 輸出檔案 |
asset/inline | url-loader | 輸出檔案路徑 |
asset/source | raw-loader | 輸出原始代碼 |
配置方法:
module.exports = {
module: {
rules: [
{
test: /\.png/,
type: 'asset/resource'
}
]
},
};
每次編輯完文件都需要執行build
來檢查成果不是很方便,webpack-dev-server 可以建置本地伺服器,只要編輯完儲存檔案就能即時看到新的結果。
安裝dev-server套件。
$ npm i -D webpack-dev-server
修改 webpack.config.js。
module.exports = {
devServer: {
static: {
// 'dist'這個資料夾名稱需要和輸出點一致,不然會找不到開啟的網頁
directory: path.join(__dirname, 'dist'),
},
compress: true,
// 使用本地的 XXXXport 來架設伺服器,可以自定為其他 port,要避免與其他程式衝突。
port: 9000,
// 伺服器運行後自動用瀏覽器開啟網頁,可以改 false 取消
open: true,
},
}
修改 package.json
"scripts": {
// 新增指令
"dev": "webpack serve"
},
完成後執行npm run dev
來測試成果。
備註:
Ctrl + C
關閉伺服器,就會解除終端機鎖定。npm start
,不需要加上 run。