如何检查缩小是否出错?
How to check if minification went wrong?
我的代码中有一个 resolve
,它在本地运行得非常好,所有测试也都通过了。但是,缩小代码似乎在这里引起了一些问题。
当我暂存代码然后在本地 运行 时,它会导致与缩小代码相同的问题。解析块不再做它的工作。
有没有办法将缩小后的代码与实际代码进行比较以找出差异?
.state('index', {
url: '/',
resolve: {
trans: ['resolveService', function(resolveService) {
resolveService.languageResolve('main', {});
}]
},
controller: 'IndexCtrl'
})
.state('main', {
url: '/{language:[a-z]{2}}',
templateUrl: 'app/main/main.html',
controller: 'MainCtrl',
controllerAs: 'mainCtrl',
resolve: {
trans: ['resolveService', '$stateParams', function(resolveService, $stateParams) {
return resolveService.translateResolve($stateParams);
}],
redirect: ['resolveService', function(resolveService) {
return resolveService.resolveRedirect();
}]
}
})
.state('main.results', {
url: '/results/{route:nonURIEncoded}',
templateUrl: 'app/results/results.wrapper.html',
controller: 'ResultsCtrl',
resolve: {
urlParsed: ['urlParser','$stateParams','$state',function(urlParser,$stateParams,$state){
return urlParser.parse($stateParams.route).then(function(){ return true },function(err){
$state.go('main',{
language: $stateParams.language
});
});
}]
},
controllerAs: 'rc'
})
如果您在比较原始代码和缩小代码时遇到不同的行为,我很确定缩小过程中出了点问题,导致结果不完整或解析错误。你应该检查你的浏览器控制台和你的 minifier 日志是否有错误。
此外,正如评论中已经指出的那样 (, ),您可以漂亮地打印缩小的代码以手动检查差异在哪里。
Pretty Print JavaScript
The DevTools support prettifying of minified JavaScript to a more
readable form. To pretty print:
Go to the Sources panel and selected your desired script from the scripts list.
Next, press the "Pretty print" button (marked with curly braces) from the bottom of the DevTools window.
Your code should now be prettified!
Before
After
我的代码中有一个 resolve
,它在本地运行得非常好,所有测试也都通过了。但是,缩小代码似乎在这里引起了一些问题。
当我暂存代码然后在本地 运行 时,它会导致与缩小代码相同的问题。解析块不再做它的工作。
有没有办法将缩小后的代码与实际代码进行比较以找出差异?
.state('index', {
url: '/',
resolve: {
trans: ['resolveService', function(resolveService) {
resolveService.languageResolve('main', {});
}]
},
controller: 'IndexCtrl'
})
.state('main', {
url: '/{language:[a-z]{2}}',
templateUrl: 'app/main/main.html',
controller: 'MainCtrl',
controllerAs: 'mainCtrl',
resolve: {
trans: ['resolveService', '$stateParams', function(resolveService, $stateParams) {
return resolveService.translateResolve($stateParams);
}],
redirect: ['resolveService', function(resolveService) {
return resolveService.resolveRedirect();
}]
}
})
.state('main.results', {
url: '/results/{route:nonURIEncoded}',
templateUrl: 'app/results/results.wrapper.html',
controller: 'ResultsCtrl',
resolve: {
urlParsed: ['urlParser','$stateParams','$state',function(urlParser,$stateParams,$state){
return urlParser.parse($stateParams.route).then(function(){ return true },function(err){
$state.go('main',{
language: $stateParams.language
});
});
}]
},
controllerAs: 'rc'
})
如果您在比较原始代码和缩小代码时遇到不同的行为,我很确定缩小过程中出了点问题,导致结果不完整或解析错误。你应该检查你的浏览器控制台和你的 minifier 日志是否有错误。
此外,正如评论中已经指出的那样 (
Pretty Print JavaScript
The DevTools support prettifying of minified JavaScript to a more readable form. To pretty print:
Go to the Sources panel and selected your desired script from the scripts list.
Next, press the "Pretty print" button (marked with curly braces) from the bottom of the DevTools window.
Your code should now be prettified!
Before
After