1、准备

  1. #box1 {
  2. width: 100px;
  3. height: 100px;
  4. background-color: pink;
  5. }
  1. #box2 {
  2. width: 200px;
  3. height: 200px;
  4. background-color: deeppink;
  5. }
  1. import '../css/a.css';
  2. import '../css/b.css';
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>webpack</title>
  <script defer src="js/built.js"></script>
  <link href="css/built.css" rel="stylesheet"></head>
<body>
  <div id="box1"></div>
  <div id="box2"></div>
</body>
</html>

2、webpack.config.js

const { resolve } = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');

module.exports = {
  entry: './src/js/index.js',
  output: {
    filename: 'js/built.js',
    path: resolve(__dirname, 'build')
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          // 'style-loader', 
          //mini-css-extract-plugin: 用于将 CSS 从主应用程序中分离,为每个包含 CSS 的 JS 文件创建一个 CSS 文件,并且支持 CSS 和 SourceMaps 的按需加载。
          MiniCssExtractPlugin.loader,  //代替style-loader,提取js中的css成单独文件
          'css-loader'
        ]
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './src/index.html'
    }),
    new MiniCssExtractPlugin({
      // 对输出的css文件进行重命名
      filename: 'css/built.css'
    })
  ],
  mode: 'development'
};

3、结果

image.png