【问题标题】:How to disable uglify-js optimization which removes quotes around object literals?如何禁用删除对象文字周围引号的 uglify-js 优化?
【发布时间】:2016-12-02 12:34:40
【问题描述】:

我有这个(旧版)代码:

var object = {
  'in': 'someThing'
};

uglify-js后优化代码如下:

var object = {
  in: 'someThing'
};

以下是 uglify-js 自述文件(功能列表)中的内容:

各种小的优化,可能会导致更快的代码,但肯定 导致更小的代码。在可能的情况下,我们会执行以下操作:

foo[“bar”] => foo.bar

如何禁用此优化?它破坏了 IE8STD 中的应用程序。

【问题讨论】:

    标签: javascript optimization uglifyjs grunt-contrib-uglify


    【解决方案1】:

    根据Documentation of UglifyJS,您可以使用此选项:

    -ns--no-squeeze — 不要调用 ast_squeeze()(它会进行各种优化,导致代码更小、可读性更低)。

    【讨论】:

    • 嗯。可能这会有所帮助(我的英语不好......啊!)你想知道我必须如何使用 no-squeeze 选项吗?我懂了。在这两种情况下,我都得到了in,结果中没有引号:i.gyazo.com/f7312243868ef6f33c5817862eba76c0.png
    • 我试过了。它没有帮助:(它甚至不起作用。如果我使用 -ns 而没有选项 uglifyjs 什么都不做(只是在启动后立即冻结)。实际上我正在使用grunt-contrib-uglifyjs。我找到了screwIE8 选项。我设置了它为 false 并得到预期结果。in 周围的引号仍然存在。
    • 对不起,我帮不上忙。
    【解决方案2】:

    标记--screw-ie8 是解决方案。查看documentation

    【讨论】:

      猜你喜欢
      • 2021-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-29
      • 1970-01-01
      • 2020-06-10
      • 2011-04-19
      • 2021-06-06
      相关资源
      最近更新 更多