我在使用Grunt和grunt-ng-annotate时收到此警告。
警告中没有提到错误在文件中的位置,这使得调试变得困难。
有任何想法吗?
我在使用Grunt和grunt-ng-annotate时收到此警告。
警告中没有提到错误在文件中的位置,这使得调试变得困难。
有任何想法吗?
问题原来是使用 ES6 表示法,在这种情况下箭头函数 ( => )、默认参数和let。
我没有详细了解为什么 ngAnnotate 不支持这一点。
为了找到问题出在哪里,我用 grunt switch --force覆盖了 ngAnnotate 警告,后来在构建 uglify 中更详细地抱怨了 ES6 语法。
可能的原因:
() => {}
{ value }
let
function (...args)
function (defaultVar = false)
解决方案:
function () {}
{ value: value }
var
function (args)
function (defaultVar) { defaultVar = (defaultVar === undefined) ? false : defaultVar }
我也面临同样的问题,但就我而言,有一个不同的问题。
我们的一位团队成员已将函数参数初始化为某个默认值。类似于以下内容。
$scope.functionName = function(defaultVar = false){
//some code
}
在我的 gulp 脚本中,有一行
.pipe(plugins.if(release, plugins.ngAnnotate()))
因此,当我删除此行时,构建脚本会自动在控制台中打印错误,指向错误所在的确切文件和行号。
最后,我能够通过删除该变量初始化代码来解决它。
希望这会帮助某人...