搜索

首页  >  问答  >  正文

javascript - webpack 如何将重复的css去重

a.css 内容:
*{
    margin:0;
}
b.css  内容:
*{
    padding:0;
    margin:0
}

经过webpack 打包之后的代码是

*{margin:0;}*{padding:0;margin:0}

我想要的效果是

*{
   margin:0;padding:0
}

如下是 webpack 配置文件内容:

const webpack = require('webpack')
const path = require('path')
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const htmlWebpackPlugin = require("html-webpack-plugin");
// console.log(webpack)
var config = {
  //入口文件
  entry: './src/index.js',
  //输出文件配置
  output: {
    //输出文件名
    filename: 'bundle.js',
    //输出文件路径(绝对路径)
    path: '/dist',
    //输出用于指定资源基础路径,当你的应用中的css包含图片的时候,这将非常有用
    // publicPath: '/dist/'
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        use:ExtractTextPlugin.extract({
          fallback: "style-loader",
          use: [
            {
              loader: 'css-loader',
              options:{
                  minimize: true //css压缩
              }
            }
          ]
        })
      },
      {
        test: /\.less$/,
        use: ExtractTextPlugin.extract({
          fallback: 'style-loader',
          use: ['css-loader', 'less-loader'],
          allChunks: true
        })
      },
      {
        //处理js文件或者 react 文件
        test: /\.js|jsx$/,
        use: 'babel-loader',
        exclude: /node_modules/,
      },
      {
        // 处理图片文件/ 可以限制图片大小为多少 转换成base64
        test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
        loader: 'url-loader',
        options: {
          limit: 7186, // inline base64 if <= 7K
          name: 'static/images/[name].[ext]'
        }
      },
    ]
  },
  plugins: [
    new ExtractTextPlugin({ filename: 'static/app.css', allChunks: true }),
    new htmlWebpackPlugin({
      title: 'react learning',
      template: './src/index.html'
    })
  ]
}

module.exports = config

是不是某些配置可以覆盖掉这些重复的代码, 或者说可以*{} *{}这样的只出现一次, 把里面的内容打包到一起?

刚入门学习, 希望有前人来给小弟指点迷精. 射射~

给我你的怀抱给我你的怀抱2728 天前1176

全部回复(1)我来回复

  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-12 09:33:15

    这可以通过一个额外的插件配置解决:

    https://www.npmjs.com/package...

    回复
    0
  • 取消回复