Gruntjs 使用丑陋的咕噜任务会弄乱选择

Gruntjs 使用丑陋的咕噜任务会弄乱选择,gruntjs,yeoman,uglifyjs,selectivizr,Gruntjs,Yeoman,Uglifyjs,Selectivizr,我有一个Yeoman项目,在它的Javascript文件上使用。在Selectvizr库(使用Bower拉入)上运行时,生成的文件如下所示: !function(win){return}(this); 我认为这是因为Selectivizr被设置为在浏览器不是IE的情况下不做任何事情,所以也许在Grunt执行上下文中它就是这么做的 所以我想知道是否有可能让Uglify在Selectivizr上运行并生成可用的东西?Uglify处理JavaScript的唯一目的是优化。它的工作是以任何可能的方式使

我有一个Yeoman项目,在它的Javascript文件上使用。在Selectvizr库(使用Bower拉入)上运行时,生成的文件如下所示:

!function(win){return}(this);
我认为这是因为Selectivizr被设置为在浏览器不是IE的情况下不做任何事情,所以也许在Grunt执行上下文中它就是这么做的


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

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

所以,这不是一个丑陋的错误,因为它正确地完成了它的工作。我不熟悉Selectivizr使用的技巧,但如果它起作用,它就会起作用


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

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

所以,这不是一个丑陋的错误,因为它正确地完成了它的工作。我不熟悉Selectivizr使用的技巧,但如果它起作用,它就会起作用


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

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

if (/*@cc_on!@*/true) return;
这条线打破了丑/丑的任务。再运行一次,它就会工作


关于

的更多信息另一种解决方案是注释/删除selectivizr.js中的第32行

if (/*@cc_on!@*/true) return;
这条线打破了丑/丑的任务。再运行一次,它就会工作

更多关于

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


请使用上述代码修复此问题。我也遇到了同样的问题,并且在更新这一行后它已被修复。

Selectivizr v1.0.3b似乎为我解决了这个问题。Selectivizr v1.0.3b似乎为我解决了这个问题。