【问题标题】:How to suppress warnings using webpack and post css如何使用 webpack 抑制警告并发布 css
【发布时间】:2016-12-17 19:09:10
【问题描述】:

如何抑制 webpack 加载 post css 文件时产生的警告?

警告示例:

WARNING in ./~/css-loader!./~/postcss-loader!./src/components/Navigator/Navigator.css
postcss-custom-properties: C:\StackData\bd\src\components\Navigator\Navigator.css:33:9: variable '--active' is undefined and
 used without a fallback

我的 webpack 配置:

 module: {
    loaders: [
   ...
      {test: /\.css/, loader: 'style-loader!css-loader!postcss-loader'},
   ...
    ]
  },
  postcss: function () {
    return [precss, autoprefixer];
  }

【问题讨论】:

    标签: webpack webpack-dev-server postcss


    【解决方案1】:

    你可以尝试添加

    module.exports = {
      entry: ...,
      stats: {warnings:false}
      ...
    }
    

    【讨论】:

    • 隐藏警告不是一个好主意,因为这可能是配置问题,正如我的回答中所解释的那样。
    • 是的,我的第一个建议是解决导致警告的问题。但如果存在已知问题并且您不希望警告使控制台混乱,以上是一个解决方案
    • 有没有办法抑制来自给定模块的警告?我正在使用一个发出大量警告的模块,我宁愿让开发人员处理它们。
    【解决方案2】:

    您可以使用stats.warningsFilter。试试这样的:

    module.exports = {
        ...
        stats: {
            warningsFilter: [
                './~/css-loader!./~/postcss-loader!./src/components/Navigator/Navigator.css'
            ]
        }
        ...
    }
    

    您可以添加任何出现在警告中的内容,即使是使用正则表达式或函数。越具体越好。

    【讨论】:

    【解决方案3】:

    您试图隐藏此警告是错误的。顺便说一句,这个警告更像是一个错误。 你应该修复它。使用没有引用或回退的 var() 函数是错误的,并且会为浏览器创建无效值。

    来源:postcss-custom-properties 的作者。

    【讨论】:

    • 嗨,关键是我有一个包含所有变量的文件,并且我有一个用于组件的不同 css 页面,所以实际上这个警告是错误的
    • 这个警告是单元测试覆盖的警告github.com/postcss/postcss-custom-properties/blob/…,所以如果你得到它,那是因为你要求插件做一个它不能做的转换。如果要转换 var() 用法,插件需要在相同的上下文中具有定义。如果您有一个包含所有变量的 js 文件,请使用此插件的“变量”选项。如果您在另一个 CSS 文件中有变量,请使用 postcss-import 以便 postcss-custom-properties 可以访问正确(当前)范围内的 var。
    • @MoOx 如果你能联系到 Angular 团队以便他们解决这个问题,那就太好了。
    猜你喜欢
    • 1970-01-01
    • 2021-02-08
    • 2018-07-11
    • 2019-02-25
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多