追代码
发现
function configAngular($compileProvider) { 'ngInject'; $compileProvider.debugInfoEnabled(true); }这样是没问题的
如果我注视掉
function configAngular($compileProvider) { 'ngInject'; //$compileProvider.debugInfoEnabled(true); }这样就有问题了,产生的js代码里,这个函数没有t.$inject这样的东西,uglify太聪明了,他认为这个函数是个空函数(啥也没干),就删掉了ngAnnotate产生的注入代码
configAngular.$inject = ["$compileProvider"];了,虽然是个空函数,该注入的还是要注入啊,然后angular的函数有参数,却没有$inject,报错咯
明白了原因 ,就想到如何修改这个,
自然,注入了就要使用时到时最好,有没有别的法子来对付呢,我还得继续查查
https://github.com/mishoo/UglifyJS2
仔细看了Compressor options
没发现这样的参数可以对付这个情况
没法子,那就如何对付,我最后弄成这样的
function configAngular($compileProvider) { 'ngInject';;
//$compileProvider.debugInfoEnabled(true); }这样jshint会包一个警告,也就是ngInject后面多一个逗号
line 98 col 16 Unnecessary semicolon.
于是我disable掉这个警告,大功告成,当然这个我只是用在app.config.es6里面
/* jshint -W032 */
没有评论:
发表评论