Неожиданный экспорт токена с шуткой - PullRequest
0 голосов
/ 04 октября 2018

Я видел некоторые другие ответы и проблемы GitHub, которые описывают это, но я не смог найти решение в моем случае.Я получаю страшное SyntaxError: Unexpected token export при попытке запустить jest.

project/node_modules/@agm/core/index.js:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){export * from './directives';

Код, где выполняются эти тесты, работает нормально.Ошибка, кажется, исходит из самой шутки.Это кажется как будто jest преобразует файл, но я могу ошибаться.

Моя конфигурация jest

"jest": {
  "preset": "jest-preset-angular",
  "setupTestFrameworkScriptFile": "<rootDir>/setup-jest.ts",
  "transformIgnorePatterns": [
    "node_modules"
  ]
}

Я пытался обновить transformIgnorePatterns до"<rootDir>/node_modules/(?!@agm)" и "node_modules/(?!@agm)", "node_modules/(?!@agm/core)", но ни один из них, похоже, не имеет никакого значения.

Как получить шутку для правильной обработки файлов, импортированных из @agm/core?

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

Я хотел бы добавить, что для babel 7+, я думаю, вместо .babelrc используйте babel.config.js :

module.exports = {
    presets: ['babel-preset-env'],
}
0 голосов
/ 04 октября 2018

Есть несколько изменений, которые мне нужны, чтобы заставить это работать.Это должно решить проблему, когда @agm/core для приложения Angular 6 используется с jest.

yarn add --dev babel-preset-env

У вас уже должно быть babel-jest.

Затем обновите конфигурацию jest:

"transform": {
  "^.+\\.js": "<rootDir>/node_modules/babel-jest"
},
"transformIgnorePatterns": [
  "<rootDir>/node_modules/(?!@agm)"
]

Вам также понадобится добавить .babelrc для использования, если у вас его нет:

{
  "presets": ["babel-preset-env"]
}

Это может работать для других библиотек, которые нуждаются в преобразовании babel, как-установлен.

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