Как я могу разрешить Дубликат идентификатора по ошибке? - PullRequest
0 голосов
/ 01 февраля 2019

Я проводил тест с использованием класса 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 может внезапно измениться.

1 Ответ

0 голосов
/ 01 февраля 2019

Узловые модули могут быть написаны (и выпущены) кем угодно.Это означает, что автор модуля может обновить или полностью отключить его, в любое время и без предупреждения.

Однако весьма вероятно, что это связано с git.См. Окончания строк: Git merge создает дубликаты без конфликта , чтобы узнать больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...