grunt concat/uglify 后 firefox 脚本无响应
firefox unresponsive script after grunt concat/uglify
Firefox 在我的 uglified js 上给我一个无响应的脚本警告。 Chrome 和 Internet Explorer 会立即加载该页面,因此它似乎是 Firefox 特有的。
这是我的相关部分 Gruntfile.js
uglify : {
options : {
except : [ 'jQuery', 'angular' ]
},
dist : {
files : [
{
src : [ '<%= path.src %>/bower_components/jquery/dist/jquery.js',
'<%= path.src %>/bower_components/jquery-ui/jquery-ui.js',
'<%= path.src %>/bower_components/jqueryui-touch-punch/jquery.ui.touch-punch.js',
'<%= path.src %>/bower_components/angular/angular.js',
'<%= path.src %>/bower_components/angular-sanitize/angular-sanitize.js',
'<%= path.src %>/bower_components/angular-messages/angular-messages.js',
'<%= path.src %>/bower_components/angular-bootstrap/ui-bootstrap-tpls.js',
'<%= path.src %>/bower_components/ui-utils/ui-utils.js',
'<%= path.src %>/bower_components/angular-ui-sortable/sortable.js',
'<%= path.src %>/bower_components/d3/d3.js',
'<%= path.src %>/bower_components/ng-csv/build/ng-csv.js',
'<%= path.src %>/bower_components/ng-device-detector/ng-device-detector.js',
'<%= path.src %>/bower_components/angular-shims-placeholder/dist/angular-shims-placeholder.js',
'<%= path.src %>/bower_components/angular-validation-match/dist/angular-input-match.min.js',
'<%= path.src %>/bower_components/angular-filter/dist/angular-filter.js',
'<%= path.src %>/bower_components/angular-toggle-switch/angular-toggle-switch.js',
'<%= path.src %>/bower_components/angular-ui-select/dist/select.js',
'<%= path.src %>/bower_components/ng-grid/build/ng-grid.js',
'<%= path.src %>/bower_components/angular-ui-grid/ui-grid.js',
'<%= path.src %>/bower_components/n3-line-chart/build/line-chart.js',
'<%= path.src %>/bower_components/ng-device-detector/ng-device-detector.js',
'<%= path.src %>/bower_components/angular-busy/dist/angular-busy.js' ],
dest : '<%= path.dist %>/js/<%= pkg.name %>.min.js'
} ]
}`
兴趣点
- 它与我 运行 所在的机器没有隔离,因为任何使用 firefox 访问该页面的人都存在这个问题。
- 如果我将 js 文件分解成更小的块并 uglify 成 6 个左右的文件,那么我就不会遇到无响应的脚本问题。它仅在我压缩成单个文件或几个文件时才存在。
- 无论我是在进行完整的 uglify 还是只是对 js 文件进行简单的串联,都存在问题。
- 如果我不做任何连接,问题就不存在了。
- 控制台没有js错误。
自从发布这篇文章后,我发现 js 图表(可以与 n3/d3 图表分开)会导致 Firefox 出现大量性能问题,而 Firebug 是 运行。如果在带有 js 图表的页面上打开 firebug,则问题甚至在关闭 firebug 后仍然存在。如果您打开一个新的 firefox 实例并且 firebug 您将不会遇到这个问题,但随着时间的推移,似乎会出现某种导致性能迅速下降的泄漏。再次......这个问题似乎只存在于连接的js代码中。
Firefox 在我的 uglified js 上给我一个无响应的脚本警告。 Chrome 和 Internet Explorer 会立即加载该页面,因此它似乎是 Firefox 特有的。
这是我的相关部分 Gruntfile.js
uglify : {
options : {
except : [ 'jQuery', 'angular' ]
},
dist : {
files : [
{
src : [ '<%= path.src %>/bower_components/jquery/dist/jquery.js',
'<%= path.src %>/bower_components/jquery-ui/jquery-ui.js',
'<%= path.src %>/bower_components/jqueryui-touch-punch/jquery.ui.touch-punch.js',
'<%= path.src %>/bower_components/angular/angular.js',
'<%= path.src %>/bower_components/angular-sanitize/angular-sanitize.js',
'<%= path.src %>/bower_components/angular-messages/angular-messages.js',
'<%= path.src %>/bower_components/angular-bootstrap/ui-bootstrap-tpls.js',
'<%= path.src %>/bower_components/ui-utils/ui-utils.js',
'<%= path.src %>/bower_components/angular-ui-sortable/sortable.js',
'<%= path.src %>/bower_components/d3/d3.js',
'<%= path.src %>/bower_components/ng-csv/build/ng-csv.js',
'<%= path.src %>/bower_components/ng-device-detector/ng-device-detector.js',
'<%= path.src %>/bower_components/angular-shims-placeholder/dist/angular-shims-placeholder.js',
'<%= path.src %>/bower_components/angular-validation-match/dist/angular-input-match.min.js',
'<%= path.src %>/bower_components/angular-filter/dist/angular-filter.js',
'<%= path.src %>/bower_components/angular-toggle-switch/angular-toggle-switch.js',
'<%= path.src %>/bower_components/angular-ui-select/dist/select.js',
'<%= path.src %>/bower_components/ng-grid/build/ng-grid.js',
'<%= path.src %>/bower_components/angular-ui-grid/ui-grid.js',
'<%= path.src %>/bower_components/n3-line-chart/build/line-chart.js',
'<%= path.src %>/bower_components/ng-device-detector/ng-device-detector.js',
'<%= path.src %>/bower_components/angular-busy/dist/angular-busy.js' ],
dest : '<%= path.dist %>/js/<%= pkg.name %>.min.js'
} ]
}`
兴趣点
- 它与我 运行 所在的机器没有隔离,因为任何使用 firefox 访问该页面的人都存在这个问题。
- 如果我将 js 文件分解成更小的块并 uglify 成 6 个左右的文件,那么我就不会遇到无响应的脚本问题。它仅在我压缩成单个文件或几个文件时才存在。
- 无论我是在进行完整的 uglify 还是只是对 js 文件进行简单的串联,都存在问题。
- 如果我不做任何连接,问题就不存在了。
- 控制台没有js错误。
自从发布这篇文章后,我发现 js 图表(可以与 n3/d3 图表分开)会导致 Firefox 出现大量性能问题,而 Firebug 是 运行。如果在带有 js 图表的页面上打开 firebug,则问题甚至在关闭 firebug 后仍然存在。如果您打开一个新的 firefox 实例并且 firebug 您将不会遇到这个问题,但随着时间的推移,似乎会出现某种导致性能迅速下降的泄漏。再次......这个问题似乎只存在于连接的js代码中。