「webpack環境設置步驟」相關筆記

總結

使用 webpack(本次搭配 axios 與 vue)開發前端 web APP 時的環境相關設置筆記 2021/8/4 更新:追加 SCSS 相關設定

環境

webpack: 5.38.1
webpack-cli: 4.7.2
vue: 2.6.14
os: Windows_NT 10.0.18363 win32 x64

// 2021/8/4追加
node-sass: 6.0.1
sass-loader: 12.1.0

步驟

  1. 移動到專案資料夾內,在終端機輸入npm init -y
  1. 安裝webpackwebpack-cliaxiosvuehtml-webpack-plugin
  1. package.json設定如下:
  1. 在根目錄中建立webpack.config.js,(在專案需要使用 vue 的情況下)設定如下:
  1. 在根目錄中建立資料夾src,其中的檔案名稱需與webpack.config.js搭配,故使用index.jstemplate.html
  1. 在終端機執行npm run build後,根目錄中出現資料夾dist,內有index.htmlmain.js

並且main.js已經根據webpack.config.jsHtmlWebpackPlugin的設定,自動嵌入<body>底部 使用 webpack 進行打包的步驟到此結束

資料夾結構

folder structure

補充:若須導入.css

  1. 安裝css-loadermini-css-extract-pluginnpm i css-loader mini-css-extract-plugin -D
  2. index.js中匯入.css 檔案
import './bootstrap.bundle';
import './bootstrap.css';
import './style.css';
  1. webpack.config.js加入以下內容:
const MiniCssExtractPlugin = require('mini-css-extract-plugin');

module.exports = {
  plugins: [new MiniCssExtractPlugin()],
  module: {
    rules: [
      {
        test: /\.css$/i,
        use: [MiniCssExtractPlugin.loader, 'css-loader'],
      },
    ],
  },
};

補充:若須導入.scss

  1. 除上述提及之 package 之外,追加安裝node-sasssass-loader
  2. webpack.config.js的 plugins 與 module 設定如下:
plugins: [
  new MiniCssExtractPlugin(),
  new HtmlWebpackPlugin({
    inject: 'body',
    template: './src/index.html'
  })
],
module: {
  rules: [
    {
      test: /\.scss$/,
      use: [
        MiniCssExtractPlugin.loader,
        'css-loader',
        'sass-loader'
      ]
    }
  ]
}

參考文件