Я только что обновил свое приложение, чтобы использовать Angular 2 rc.6
и Angular Material 2 alpha 8-1
. Эти пакеты полагаются на typescript 2
, а последний использует новый модификатор readonly
.компилятор gulp-typescript выдает ошибки в модификаторе readonly
Я использую gulp-typescript
для компиляции моих .ts-файлов, и теперь у меня появилось много ошибок из файлов, в которых используется модификатор readonly
. Например, эта строка:
readonly change: Observable<MdButtonToggleChange>;
Выдает эти ошибки во время компиляции:
ошибки TS1005: '=' ожидается.
ошибка TS1005: ';' ожидается.
ошибка TS1005:.. '(' Ожидается
Я думаю, что это, вероятно, потому, что gulp-typescript
внутренне использует typescript 1.8.10
, который не имеет модификатор readonly
Никто из моего собственного кода использует readonly
; только файлы, бросающие ошибки, являются файлами определения файлов сторонних разработчиков (.d.ts
) от Angular 2 Material
пакетов. Все файлы находятся в моей папке nodes_module/
, и я попытался проигнорировать их, указав следующее в tsconfig.json
:
"exclude": [
"node_modules",
"typings"
]
Ошибки все еще появляются.
- Могу ли я решить эту проблему?
- Если нет, есть ли простой способ заставить компилятор игнорировать файлы
.d.ts
?
Спасибо за нотой. Как я писал в OP, ошибки выбрасываются только файлами '.d.ts', принадлежащими' ng-Material'. Сама библиотека «Угловая» не вызывает ошибок. Все ошибки исходят от 'node_modules/@ angular2-material /' – BeetleJuice
Мне следовало бы обратить более пристальное внимание на вопрос; это было то, о чем я ожидал иметь дело при переключении на RC6. Похоже, что команда Angular сделала больше, чем просто перейти к источнику 'esm', так как упомянутый источник больше не включает в себя свойства' readonly'. Что-то вроде облегчения, я думаю. – cartant
Я пришел, чтобы опубликовать свое решение после исправления проблемы, и я только заметил, что вы изменили свой ответ на правильный. Спасибо. – BeetleJuice