我有一个约曼项目,在它的Javascript文件中使用了grunt-contrib-uglify。当在Selectvizr库上运行时(使用Bower拉入),结果文件如下所示:
!function(win){return}(this);我认为这是因为如果浏览器不是IE,Selectivizr被设置为不做任何事情,所以在Grunt执行上下文中,它可能就是这样做的?
所以我想知道是否有可能让Uglify在Selectivizr上运行并产生一些有用的东西?
发布于 2013-07-20 11:44:44
Uglify处理JavaScript的唯一目的是优化。它的工作是以任何可能的方式使文件变得超级小。为此,它会检测代码中的任何不可变条件,比如if (true) { return; }。由于true始终为真,因此此条件的功能将被解释并针对进行优化。
因此,它不是一个Uglify错误,因为它正确地完成了它的工作。我不熟悉Selectivizr使用的技巧,但如果它有效,它就有效。
不幸的是,我能想到的唯一解决方案是不让Uglify在文件上运行,而是直接将它复制到dist/。
发布于 2014-10-29 01:28:55
另一种解决方案是在selectivizr.js中注释/删除第32行
if (/*@cc_on!@*/true) return;这就是打破uglify/concat任务的代码行。再运行一次,它就会工作。
有关Github的更多信息
发布于 2014-10-31 13:45:51
var result = navigator.userAgent.match(/MSIE (\d+)/);
if (result) {
var ieVersion = result[1];
}
else {
return;
}请使用上面的代码来解决此问题。我也得到了同样的问题,它已被修复后,更新此行。
https://stackoverflow.com/questions/17744175
复制相似问题