我有一个这样的.js,我正在压缩它:
'use strict';
!(function () {
var object = typeof exports != 'undefined' ? exports : this;
}());
当我使用 Google Closure 编译器时,我没有得到任何错误,并且“this”正在引用窗口对象。但是当我使用 Uglify (使用 mangle true 或 false )时,它会在“this”上得到一个未定义的结果(所以该对象是未定义的,我收到了错误)。有谁知道为什么?
基本上我可以将它更改为窗口,它会工作,但我担心的是其他代码、库或其他我将来会丑陋的东西。
注意:我正在使用带有选项的 grunt-contrib-uglify 插件:mangle:true,preserverComments:false,sourceMap:true