21

我在使用Gruntgrunt-ng-annotate时收到此警告。

警告中没有提到错误在文件中的位置,这使得调试变得困难。

有任何想法吗?

4

3 回答 3

34

问题原来是使用 ES6 表示法,在这种情况下箭头函数 ( => )、默认参数和let

我没有详细了解为什么 ngAnnotate 不支持这一点。

为了找到问题出在哪里,我用 grunt switch --force覆盖了 ngAnnotate 警告,后来在构建 uglify 中更详细地抱怨了 ES6 语法。

于 2017-08-31T11:39:53.557 回答
15

可能的原因:

  • () => {}
  • { value }
  • let
  • function (...args)
  • function (defaultVar = false)

解决方案:

  • function () {}
  • { value: value }
  • var
  • function (args)
  • function (defaultVar) { defaultVar = (defaultVar === undefined) ? false : defaultVar }
于 2020-02-06T07:16:14.353 回答
12

我也面临同样的问题,但就我而言,有一个不同的问题。

我们的一位团队成员已将函数参数初始化为某个默认值。类似于以下内容。

$scope.functionName = function(defaultVar = false){ 
    //some code 
}

在我的 gulp 脚本中,有一行

.pipe(plugins.if(release, plugins.ngAnnotate()))

因此,当我删除此行时,构建脚本会自动在控制台中打印错误,指向错误所在的确切文件和行号。

最后,我能够通过删除该变量初始化代码来解决它。

希望这会帮助某人...

于 2018-07-18T06:36:11.390 回答