Webpack 特定 css 包

Webpack especific css bundle

我在 webpack 3.11 中有如下代码

var path = require('path');
var webpack = require("webpack");
var HtmlWebpackPlugin = require('html-webpack-plugin');

const MinifyPlugin = require("babel-minify-webpack-plugin");
if (process.argv.indexOf('-p') !== -1) {
  process.env.NODE_ENV = 'production';
}

let config = {
  output: {
    path: __dirname + '/dist',
  }
}

let ExtractTextPlugin = require('extract-text-webpack-plugin');
let extractSCSS = new ExtractTextPlugin('bundle.css');

module.exports = {
  entry: {
    bundle2: "./src2/main2.js",
    bundle: "./src/main.js",
  },
  output: {
    path: config.output.path,
    filename: '[name].js',
  },

  module: {
    rules: [{
        test: /\.scss$/,
        use: extractSCSS.extract({
          use: [{
            loader: "css-loader"
          }, {
            loader: "sass-loader"
          }]
        })
      }
    ]
  },
  devtool: 'source-map',
  plugins: [
    extractSCSS
  ],
  devServer: rutasServer
};

例如,我想要的是能够从 src 文件夹中存在的 scss 文件创建一个 bundle.css,同时为 scss 创建一个 bundle2.css src2 文件夹中的文件。可能吗?

您可以创建不同的条目并在其上使用 css-minify-pluginextract-plugin

在你的 webpack.config.js 上:

 entry: {
            bundle1: ['./src/your/path.scss'],
            bundle2: ['./src/your/other-path.scss'],
        },

和插件:

new ExtractTextPlugin({ filename: 'css/[name].css' }),

实际上 ExtractTextPlugin 已弃用。尝试使用 mini-css-extract-plugin