Jest stops with "SyntaxError: Unexpected token 'export'" although I've set transformIgnorePatterns

Jest stops with "SyntaxError: Unexpected token 'export'" although I've set transformIgnorePatterns

我运行宁npm run test,运行s jest,但测试套件失败并显示以下消息:

/home/anthony/nosync/development/openmeteo/enhydris-web-frontend/node_modules/vue-notifications/dist/vue-notifications.js:130
export default VueNotifications;

SyntaxError: Unexpected token 'export'

这里是jest.config.js中的相关配置:

  transform: {
    '^.+\.js$': 'babel-jest',
    '.*\.(vue)$': 'vue-jest',
  },
  transformIgnorePatterns: ['node_modules/(?!(vue-notifications)/)'],

我也经常 运行 npm run test -- --clearCache 只是为了确定。但是transformIgnorePatterns好像没有什么效果。

如您所见,错误消息的第一行以 :130 结尾。这个数字是多少?是错误发生的行号吗?实际上 export default VueNotifications 行是第 117 行。如果我添加一些空行将其向下移动,我仍然得到 :130。 (如果我把它注释掉,问题就消失了,当然测试仍然失败,因为需要导出。)

这似乎是 known Jest bug—transformIgnorePatterns 不适用于 .babelrc,仅适用于 babel.config.js。我将我的 .babelrc 转换为 .babel.config.js,现在可以使用了。