Webpack: bundle multiple vendor css in one separate file?

sr9*_*yar 4 webpack webpack-style-loader

我想用 webpack 3.8 将几个标准库捆绑成两个文件 bundle.js 和 bundle.css

这是我的 webpack.config.js:

const webpack = require('webpack');
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const path = require("path");

module.exports = {
  entry: {
    'vendor': [
      'jquery',
      'popper.js',
      'bootstrap',
    ],

  },

    output: {
    path: path.resolve(__dirname, 'public/js'),
    filename: 'bundle.js'
  },

  module: {
              rules:[
                    {
                    test: /\.css$/,
                    use: ExtractTextPlugin.extract({
                      fallback: "style-loader",
                      use: "css-loader"
                    })
                  }
                ],


  },

  plugins: [

    new webpack.optimize.UglifyJsPlugin({
      uglifyOptions: {
        compress: true 
      }
    }),

    new ExtractTextPlugin("styles.css"),

  ]
};
Run Code Online (Sandbox Code Playgroud)

运行 webpack 后,我只得到 bundle.js 文件:

    Asset    Size  Chunks                    Chunk Names
bundle.js  264 kB       0  [emitted]  [big]  vendor
Run Code Online (Sandbox Code Playgroud)

我应该如何配置 webpack 来生成 bundle.css ?

Pra*_*tri 6

有两种方法可以做到。

第一的

您可以.css在入口点提供的文件中导入您的文件。

例如。

如果 entry: index.js

index.js你必须导入你的 css 文件

import './*.css'      // all css files in root
Run Code Online (Sandbox Code Playgroud)

第二

您可以在入口点提供它。

entry: {
   {
    'vendor': [
      'jquery',
      'popper.js',
      'bootstrap',
    ],
    'styles': '/*.css'    
  }
}
Run Code Online (Sandbox Code Playgroud)