我正在使用Grunt连接grunt-contrib-uglify任务来缩小我的应用程序中的JavaScript。
在缩小后,它将删除除第一条语句之外的所有'use strict'语句,因此我得到了一个顶部带有'use strict‘指令的巨大JavaScript文件。
问题是,全局'use strict'指令使浏览器在“严格模式”下执行我在项目中使用的每个库的代码,这会导致错误,因为并不是每个第三方代码都是为严格模式编写的。
对如何解决这个问题有什么想法吗?
发布于 2015-07-07 23:29:14
如果您用IIFE包装所有脚本,那么grunt-contrib-uglify不会将该语句定位到停止位置,而是将其留在您编写的每个生命周期中。
(function() {
'use strict';
// do stuff
})();是的,这是更多的代码,但是如果你用file压缩文件,这应该不是问题。此外,这还会将您定义的任何变量保留在全局范围之外,从而产生更高性能的代码。
https://stackoverflow.com/questions/20684723
复制相似问题