webpack使用uglifyjs插件转换css单元

时间:2015-08-25 03:37:46

标签: webpack uglifyjs

这很奇怪,实际上,我觉得很容易碰到,但我没有发现这个问题〜

我已经测试了/不使用uglifyjs插件,我很确定这个插件会导致这个问题。

在我的样式文件中,只使用了px / em,但是在压缩之后,一些px已经转换为pc / pt,完全没有线索〜

enter image description here

1 个答案:

答案 0 :(得分:2)

即使UglifyJS名称中包含 JS ,它也会影响其他加载器。 答案有点隐藏在UglifyJSPlugin docs

  

最小化块的所有JavaScript输出。 装载机切换到   最小化模式。(...)

关于它的讨论发生在这里:

https://github.com/webpack/webpack/issues/283

我看来还没有解决方法。

我会说,只要它不会弄乱你的构建,继续使用uglifyJS。启动时,您可以尝试

  1. 切换到Babili(基于babel的minifier)+ babili-webpack-plugin。

    https://babeljs.io/blog/2016/08/30/babili

    https://www.npmjs.com/package/babili-webpack-plugin

    使用css-loader最小化选项缩小CSS。

  2.   

    来自https://github.com/webpack/css-loader

         

    您还可以使用最小化查询来禁用或强制缩小

    parameter.
    
    require("css-loader?minimize!./file.css") (enforced)
    require("css-loader?-minimize!./file.css") (disabled)
    

    1. 在css-loader插件中禁用最小化选项(覆盖uglifyJS行为)。不要担心你的CSS 被最小化,只是减少(在我的情况下)。 - 比破坏生产构建更好。
    2. 我尝试了Babili但没有成功,但第二个选项帮助了我的项目的生产构建。