ng-packagr副作用 - 我应该担心吗?

时间:2018-03-21 08:47:42

标签: angular ng-packagr

运行命令时

ng-packagr -p ng-package.json

我得到以下输出

Building Angular library
- - - skipped 8 lines - - -
Side effects in initialization of unused variable Cm [0:2339,29]
Side effects in initialization of unused variable Jm [0:2361,29]
Dropping duplicated definition of variable FO [0:11798,34]
Side effects in initialization of unused variable ES [0:13236,33]
- - - skipped 4 lines - - -
Built Angular library from MY_PROJECT_PATH written to MY_PROJECT_PATH/dist

我应该担心这些Side effectsDropping duplicated行吗?我们在这里谈论什么样的副作用?

有趣的是,他们之前没有几个版本。

在SO上搜索ng-packagr side effects,没有产生任何结果 - 我是唯一对此感兴趣的人吗?

1 个答案:

答案 0 :(得分:2)

  1. 对于我的库,如果仅在JS文件中查找错误“初始化未使用的变量时的副作用...”,这是正确的警告,该变量仅在TS中定义而不使用。删除未使用的变量后,警告已修复。
  2. 对于我的库中的第二条警告“删除变量的重复定义...”,如果我使用“ let”在相同的方法中两次定义变量,但使用不同的块范围,则会发生这种情况。
testMethod(componentId: string){

 if (componentId) {
      let data = componentId; // Duplicate name but correct for TS
      data = 'test data';
      console.log(data);
    } else {
      let data = '234'; // Duplicate name but correct for TS
      data = '456';
      console.log(data);
    }
}

我猜想,由于范围差异,关于在“ let”和“ var”之间的“ ng-packagr”中从TS转换为JS的事情不是100%正确的。 我的项目中没有第三包,因此“ peerDependencies”不应成为警告的原因。