首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用uglify grunt任务会弄乱选择器

使用uglify grunt任务会弄乱选择器
EN

Stack Overflow用户
提问于 2013-07-19 18:42:29
回答 3查看 490关注 0票数 1

我有一个约曼项目,在它的Javascript文件中使用了grunt-contrib-uglify。当在Selectvizr库上运行时(使用Bower拉入),结果文件如下所示:

代码语言:javascript
复制
!function(win){return}(this);

我认为这是因为如果浏览器不是IE,Selectivizr被设置为不做任何事情,所以在Grunt执行上下文中,它可能就是这样做的?

所以我想知道是否有可能让Uglify在Selectivizr上运行并产生一些有用的东西?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-20 11:44:44

Uglify处理JavaScript的唯一目的是优化。它的工作是以任何可能的方式使文件变得超级小。为此,它会检测代码中的任何不可变条件,比如if (true) { return; }。由于true始终为真,因此此条件的功能将被解释并针对进行优化。

因此,它不是一个Uglify错误,因为它正确地完成了它的工作。我不熟悉Selectivizr使用的技巧,但如果它有效,它就有效。

不幸的是,我能想到的唯一解决方案是不让Uglify在文件上运行,而是直接将它复制到dist/

票数 2
EN

Stack Overflow用户

发布于 2014-10-29 01:28:55

另一种解决方案是在selectivizr.js中注释/删除第32行

代码语言:javascript
复制
if (/*@cc_on!@*/true) return;

这就是打破uglify/concat任务的代码行。再运行一次,它就会工作。

有关Github的更多信息

票数 1
EN

Stack Overflow用户

发布于 2014-10-31 13:45:51

代码语言:javascript
复制
var result = navigator.userAgent.match(/MSIE (\d+)/);
if (result) {
  var ieVersion = result[1];
}
else {
  return;
}

请使用上面的代码来解决此问题。我也得到了同样的问题,它已被修复后,更新此行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17744175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档