Ошибка машинописи после обновления с версии 2.9.2 до 3.7.5 - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть проект angular (версия 6), использующий машинописную версию 2.9.2.

Я перехожу на последнюю версию angular, версию 9 .

Один шаг миграции - обновить версию машинописного текста до 3.7.5.

После обновления машинописного текста я получаю ошибку компиляции на одной из библиотек - https://github.com/jf3096/json-typescript-mapper - эта библиотека больше не активна.

187 экземпляр [ключ] = decoratorMetaData.customConverter.from Json (json [ключ-decoratorMetaData.name ||] ); ~~~~~~~~~~~~~ node_modules / json -typescript-mapper / index.ts: 189: 13 - ошибка TS2536: тип 'строка' не может использоваться для индексации типа 'T'.

У кого-нибудь была подобная проблема после обновления машинописи? Любые идеи о том, как я могу это исправить?

Спасибо

1 Ответ

0 голосов
/ 18 февраля 2020

Как вы упомянули в комментариях, что следовали всем инструкциям, вы можете попробовать выполнить действия, указанные ниже, вручную обновив версию TypeScript.

Изменить tsconfig.json Добавить файл:

{
  "compileOnSave": false,
  "compilerOptions": {
    // some props
  },
  "angularCompilerOptions": {
    "disableTypeScriptVersionCheck": true // <- ADD
  }
}

(Необязательно) Удалить папку package-lock.json и node-modules.

  • Выполните npm i снова
  • Добавьте npm i -D typescript@3.7.5, если еще не сделали.

В src/polyfills.ts, в самом конце добавьте:

// @ts-ignore
window.__importDefault = function (mod) {
    return mod && mod.__esModule ? mod : { default: mod };
};

Теперь продолжите тестирование своего приложения, создав сборку

...