Попытка интегрировать шутку и реакцию с amchart, но получаю ошибку. В чем может быть проблема? - PullRequest
1 голос
/ 21 ноября 2019

Вот ошибка, которую я получаю при запуске теста npm:

      export { System, system } from "./.internal/core/System";
        ^^^^^^

    SyntaxError: Unexpected token export

      1 | import React from 'react';
    > 2 | import * as am4core from "@amcharts/amcharts4/core";
      3 | import * as am4charts from "@amcharts/amcharts4/charts";


      at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/node_modules/@jest/transform/build/ScriptTransformer.js:537:17)

1 Ответ

0 голосов
/ 30 декабря 2019

AmCharts поставляет свой пакет в стандарте ES2015, поэтому он не поддерживает IE9 или любой старый браузер.

Реагирование скриптов по умолчанию обеспечивает совместимость всех используемых библиотек с CommonJS.

По умолчанию Jestне компилирует ни один из узлов node_modules и не пытается выполнить код amCharts как есть и не работает.

Если вы извлечены из скриптов реагирования, вы можете обновить конфигурацию jest:

"jest": {
    "transformIgnorePatterns": [
      "[/\\\\]node_modules[/\\\\](?!(@amcharts)\\/).+\\.(js|jsx|ts|tsx)$"
    ],
...
}

Если вы не хотитечтобы извлечь, вам нужно будет использовать transformIgnorePatterns в качестве опции cli:

react-scripts test --transformIgnorePatterns '[/\\\\]node_modules[/\\\\](?!(@amcharts)\\/).+\\.(js|jsx|ts|tsx)$'"

Примечание: Одна из причин, по которой команда реагирует на использование этой опции, заключается в том, что тестируемый вами код будетотличается от одного в производственной (скомпилированный или не скомпилированный), но если вы не тестируете диаграммы и просто имитируете их как зависимость, это должно быть хорошо.

...