Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 丑八怪';使用严格的';声明_Javascript_Gruntjs_Bundling And Minification_Uglifyjs - Fatal编程技术网

Javascript 丑八怪';使用严格的';声明

Javascript 丑八怪';使用严格的';声明,javascript,gruntjs,bundling-and-minification,uglifyjs,Javascript,Gruntjs,Bundling And Minification,Uglifyjs,我正在使用与Grunt contrib uglifytask连接的Grunt来缩小我的应用程序中的JavaScript 缩小后,它将删除除第一条语句之外的所有'use strict'语句,因此我得到了一个巨大的JavaScript文件,上面有“use strict”指令 问题是全局'use strict'指令使浏览器以“严格模式”执行我在项目中使用的每个库的代码,这会导致错误,因为并非所有第三方代码都是为严格模式编写的 有没有办法解决这个问题 如果你把所有的脚本都用一个“grunt contri

我正在使用与
Grunt contrib uglify
task连接的Grunt来缩小我的应用程序中的JavaScript

缩小后,它将删除除第一条语句之外的所有
'use strict'
语句,因此我得到了一个巨大的JavaScript文件,上面有“use strict”指令

问题是全局
'use strict'
指令使浏览器以“严格模式”执行我在项目中使用的每个库的代码,这会导致错误,因为并非所有第三方代码都是为严格模式编写的


有没有办法解决这个问题

如果你把所有的脚本都用一个“
grunt contrib uglify”
来包装,那么它就不会把那句话放在你写的每一个生活中

(function() {
    'use strict';

    // do stuff
})();

是的,这是更多的代码,但如果你的gzip文件,它应该是一个没有问题。此外,这将使您定义的任何变量保持在全局范围之外,从而产生更高性能的代码。

正如UglifyJS2项目页面中所述,这不容易解决。@rawry您可以尝试使用下一个版本吗。看起来这个问题在这个新版本中已经解决了。刚刚意识到这个问题很古老,很抱歉!