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

标签 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线?我们在这里谈论什么样的副作用?

有趣的是,它们在几次构建之前并不存在。

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

最佳答案

  • 对于我的库,如果我在 JS 文件中查找错误“未使用变量初始化的副作用......”,这是正确的警告,该变量刚刚定义并且未在 TS 中使用。删除未使用的变量后,警告已修复。
  • 对于我的库的第二个警告“删除重复的变量定义...”,如果我使用“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”不应该是我警告的原因。

    关于angular - ng-packagr 副作用 - 我应该担心吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49401707/

    相关文章:

    angular - 如何将 Angular Elements 与 "ng g library"方法混合使用?

    angular - 警告 : No name was provided for external module 'X' in output. 全局变量 - 猜测 'X'

    javascript - 如果满足 *ngIf 就触发函数? Angular 2

    javascript - VM1052 :19 Error: (SystemJS) TypeScript transpilation failed

    Angular 2。 HTTP。无法发送带正文的帖子并设置 Content-Type

    angular - 通过 Angular2 Dart 访问 dom

    angular - 无法使用 ngPackagr 使用 Assets /图像来创建 Angular 模块

    angular - 响应 rxjs 取消订阅

    json - 如何将 JSON 文件导入 Angular 库?

    angular - 将本地开发的模块打包/导入到项目中