тип импорта ошибки create-реагировать на приложение * как PrettyFormat из './types' в симпатичном формате - PullRequest
5 голосов
/ 25 марта 2020

это бесплатная sh установка cra с шаблоном машинописи, работающим на узле 13.11.0, она выдает ошибку при попытке запустить npm start

TypeScript error in D:/Projects/personal-site/node_modules/@types/testing-library__react/node_modules/pretty-format/build/index.d.ts(7,13):
'=' expected.  TS1005

     5 |  * LICENSE file in the root directory of this source tree.
     6 |  */
  >  7 | import type * as PrettyFormat from './types';
       |             ^
     8 | /**
     9 |  * Returns a presentation string of your `val` object
    10 |  * @param val any potential JavaScript object```

Ответы [ 2 ]

4 голосов
/ 25 марта 2020

На самом деле этот «тип импорта» является новым синтаксисом, введенным в Typescript 3.8 https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html#type -only-import-exports

Решение на самом деле очень простое (если это вариант для вы), просто обновите свою машинопись до 3.8 +

4 голосов
/ 25 марта 2020

Обновление

Спасибо за сообщение marcelo-waisman .

Обновление Typescript до> 3.8.0 решило эту проблему.

Если мы будем следовать документация плотно ...

yarn add typescript @types/node @types/react @types/react-dom @types/jest

... мы должны были установить TypeScript с последней версией, а не локально-глобальной версией, которая может быть ниже 3.8.0.


Я нашел несколько подсказок. Возможно, стоит открыть вопрос.

Он связан с пакетом pretty-format и его типом в create-react-app. Мы можем найти источник здесь: pretty-format / src / index.ts

import style = require('ansi-styles');
import type * as PrettyFormat from './types';

Из истории фиксации видно, что есть связанный Запрос на извлечение с двух дней go, который изменил эту часть с ...

import * as PrettyFormat from './types';

... на ...

import type * as PrettyFormat from './types';

Это, кажется, причина ошибка.

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