我正在使用与grunt-contrib-uglify
任务 Hook 的Grunt来最小化我的应用程序中的JavaScript。
缩小后,它将删除除第一个语句之外的所有'use strict'
语句,因此我得到了一个巨大的JavaScript文件,该文件的顶部带有“use strict”指令。
问题是全局'use strict'
指令使浏览器以“严格模式”执行我在项目中使用的每个库的代码,这会导致错误,因为并非每个第三方代码都是为严格模式编写的。
关于如何解决这个问题的任何想法?
最佳答案
如果您用IIFE包装所有脚本,那么grunt-contrib-uglify
不会将该语句定位到停止位置,而是将其保留在您编写的每个IIFE中。
(function() {
'use strict';
// do stuff
})();
是的,这是更多代码,但是如果您用gzip压缩文件,则应该不是问题。同样,这会将您定义的所有变量都保留在全局范围之外,从而提高性能代码。
关于javascript - UglifyJS 'use strict'语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20684723/