webpack less 解析打包后的css代码出现重复

发布于 2022-09-02 01:56:42 字数 1731 浏览 12 评论 0

首先我使用了一个normalize.less,然后在每一个组件的Less文件里面@import这个normalize文件。如下:

Normalize:

html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

Header 组件:

@import './normalize.less';
.fg-header {
    background-color: @fg-black;
    height: 88px;
    width: 100%;
}

Footer组件:

@import './normalize.less'
.fg-footer {
    background: @fg-black;
    color: @fg-white;
    display: block;
    height: 140px;
    text-align: center;
}

然后使用less编译后打包成一个style.css文件,但是这个style.css文件里面,配置文件如下:

var ExtractTextPlugin = require('extract-text-webpack-plugin');
var ExtractLess = new ExtractTextPlugin('./style/style.css');
module.exports = {
    entry: {
        base: path.resolve(__dirname,'./dev/app.js'),
        vendors: ['react']
    },
    
    ...
    
    module: [
        {
            test: /\.less$/,
            loader: ExtractTextPlugin.extract("style-loader", "css-loader!less-loader")
        },
    ]
    plugins: [
        ExtractLess
    ]
}

但是打包成功后style.css里面出现重复的normalize代码:

html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}
.fg-header {
    background-color: @fg-black;
    height: 88px;
    width: 100%;
}
.fg-footer {
    background: @fg-black;
    color: @fg-white;
    display: block;
    height: 140px;
    text-align: center;
}

这怎么配置能够解决?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

枕头说它不想醒 2022-09-09 01:56:42

问题已过时。目前 webpack 版本不会出现这样会的问题。其他 CSS 优化去重问题可以参考 css purify 或 css optimze

涫野音 2022-09-09 01:56:42

試著加入 plugin

new webpack.optimize.DedupePlugin()

不過即便沒有使用這個 plugin 我試做您的範例依然沒有重複

demo

我们只是彼此的过ke 2022-09-09 01:56:42

不要在每个组件都引入 css 文件,在 HeaderFooter 的父组件引用一次就不会重复了

颜漓半夏 2022-09-09 01:56:42

webpack 4.0中使用require('optimize-css-assets-webpack-plugin')进行优化和压缩就可以了

吝吻 2022-09-09 01:56:42

我的也重复了啊

情深缘浅 2022-09-09 01:56:42

???没答案吗

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文