我有像这样的.js,我正在压缩它:
'use strict';
!(function () {
var object = typeof exports != 'undefined' ? exports : this;
}());
当我使用Google Closure编辑器时,我没有得到任何错误,而且这个'这个'正在引用窗口对象。 但是当我使用Uglify(带有真或假的错误)时,它会在'这个'上得到一个未定义的。 (所以对象未定义,我收到错误)。有谁知道为什么?
基本上我可以将它更改为窗口并且它会起作用,但我关心的是其他代码,库或其他我将来会变得丑陋的东西。
注意:我使用grunt-contrib-uglify插件和选项: mangle:true,preserverComments:false,sourceMap:true
答案 0 :(得分:4)
预期行为:
'use strict';
函数的上下文是undefined
,而不是全局对象。