如何解决重复标识符'by'错误?



我正在使用DomSanitizer类做一些测试。我使用 git 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文件的内容会突然改变。

任何人都可以编写(和发布)节点模块。这意味着模块的作者可以随时随地更新或完全删除它。

然而,这很可能与 git 有关。请参阅行尾:Git 合并创建重复项而不会发生冲突,以获取更多信息。

最新更新