【问题标题】:How can I resolve a Duplicate identifier 'by' error?如何解决重复标识符“按”错误?
【发布时间】:2019-01-31 22:41:10
【问题描述】:

我正在使用DomSanitizer 类进行一些测试。我使用 git checkout -- . 撤消了所有更改,并收到此控制台错误:

我 checkout 到另一个 git 分支,但错误仍然存​​在。

这是我的规格

Angular CLI: 6.2.8
Node: 8.12.0
OS: win32 x64
Angular: 6.1.10
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.8.8
@angular-devkit/build-angular     0.8.8
@angular-devkit/build-optimizer   0.8.8
@angular-devkit/build-webpack     0.8.8
@angular-devkit/core              0.8.8
@angular-devkit/schematics        0.8.8
@angular/cli                      6.2.8
@ngtools/webpack                  6.2.8
@schematics/angular               0.8.8
@schematics/update                0.8.8
rxjs                              6.2.2
typescript                        2.9.2
webpack                           4.16.4

这是错误

ERROR in node_modules/@angular/core/src/sanitization/security.d.ts(32,3): error TS2300: Duplicate identifier 'by'.
node_modules/@angular/platform-browser/src/security/dom_sanitization_service.d.ts(83,31): error TS2720: Class 'DomSanitizer' incorrectly implements class 'Sanitizer'. Did you mean to extend 'Sanitizer' and inherit its members as a subclass?
  Property 'by' is missing in type 'DomSanitizer'.

我没有在我的项目中的任何地方使用DomSanitizer,所以我不明白为什么我在运行ng serve 时会收到此错误

这是node_modules/@angular/platform-browser/src/security/dom_sanitization_service.d.ts 包含的内容:

export declare abstract class DomSanitizer implements Sanitizer {

我的文本编辑器抱怨implements,我改成了extends

我收到一条新的错误消息:

ERROR in node_modules/@angular/core/src/sanitization/security.d.ts(32,3): error TS2300: Duplicate identifier 'by'.

这是node_modules/@angular/core/src/sanitization/security.d.ts的内容

export declare abstract class Sanitizer {
  by: any;
  by: any;
    abstract sanitize(context: SecurityContext, value: {} | string | null): string | null;
}

它包含by: any 属性两次,所以我删除了一个,它就像一个魅力。

谁能解释一下为什么会这样?我不明白为什么node_modules 文件的内容会突然改变。

【问题讨论】:

    标签: angular node-modules


    【解决方案1】:

    任何人都可以编写(和发布)节点模块。这意味着模块的作者可以在没有警告的情况下随时更新或完全删除它。

    然而,这很可能与 git 相关。有关更多信息,请参阅Line Endings: Git merge creates duplicates without conflict

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-25
      • 2018-04-21
      • 2016-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多