Jestjs 使用Jest和Parcel导入ES6时出错

Jestjs 使用Jest和Parcel导入ES6时出错,jestjs,es6-modules,parceljs,Jestjs,Es6 Modules,Parceljs,我有一个使用react parcel app作为模板的项目,我正在尝试集成Jest,但我遇到了以下错误 Details: /home/papaponmx/Projects/prime/src/actions/goals.spec.js:1 ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import { addGoal } from './goal

我有一个使用
react parcel app
作为模板的项目,我正在尝试集成Jest,但我遇到了以下错误

   Details:

/home/papaponmx/Projects/prime/src/actions/goals.spec.js:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import { addGoal } from './goals.mjs';
我知道parcel应该支持没有配置的ES模块,但我无法让测试导入正常工作

以下是您希望在本地运行它的示例。

在我的帮助下,我找到了一个使用babel的解决方案

  • 将这些软件包作为开发人员依赖项安装:

    npmi——保存dev-babel-jest@babel/core@babel/preset-env

  • 在项目的根级别,创建
    .babelrc
    文件并添加以下内容:

    {presets:[“@babel/preset env”]}


  • 然后您可以在测试文件中使用ES6导入

    找到解决方案了吗?没有,我最后返回到
    require
    {
      "presets": [
        [
          "env",
          {"modules": false},
          {
            "targets": {
              "browsers": [
                "last 2 versions"
              ]
            }
          }
        ],
        "react"
      ],
      "plugins": [
        "transform-class-properties",
        "transform-object-rest-spread"
      ],
      "env": {
        "testing": {
          "presets": ["es2015", "stage-1", "react" ],
          "plugins": [
            "lodash",
            "transform-runtime",
            "transform-es2015-modules-commonjs",
            "dynamic-import-node"
          ]
        }
      }
    }