webpack extract-text-plugin输出多个css文件

时间:2017-05-01 16:05:00

标签: javascript webpack extracttextwebpackplugin

我正在尝试让我的webpack构建导出2个css文件,一个用于所有lib文件,一个用于我的文件。我要求两个文件分别进入我的main.js.它将所有css需求合并到一个文件中。

我能够生成文件的唯一方法是分割条目:

entry: {
    lib:'./style/lib.scss',
    app: [
      './src/index.js',
      './style/style.scss',
    ],
  },

但是生成的lib.scss是样式的副本,并且此方法还创建了一个redudant lib.js.有没有办法创建2个单独的css文件,或者设置所需的任何css需要单独导出而不是合并到单个文件中?

1 个答案:

答案 0 :(得分:2)

您可以使用不同的插件实例从样式中拆分CSS lib:

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

// Create multiple instances
const extractStyle = new ExtractTextPlugin('style.css');
const extractLib = new ExtractTextPlugin('lib.css');

scss的不同文件夹:

           {
                test: /\.scss$/i,
                include: resolve(__dirname, './../app/stylesheets'),
                loader: extractLib.extract({
                    fallback: 'style-loader',
                    use: [
                        {
                            loader: 'css-loader',
                        },
                        {
                            loader: 'sass-loader'
                        }
                    ]
                })
            },
            {
                test: /\.scss$/i,
                include: resolve(__dirname, './../app/src'),
                use: extractStyle.extract({
                    fallback: 'style-loader',
                    use: [
                        {
                            loader: 'css-loader',
                        },
                        {
                            loader: 'sass-loader'
                        }
                    ]
                })
            }

您可以在此处查看完整示例:https://github.com/jquintozamora/webpack-multiple-css-output/blob/master/webpack/webpack.config.js