Jest 24.0.0插件/预设文件不允许导出对象,只能导出功能

时间:2019-01-26 15:21:45

标签: jestjs babel-jest

从Jest 23.6.0升级到24.0.0后,出现此错误:Plugin/Preset files are not allowed to export objects, only functions.

这是由于以下提交引起的:https://github.com/facebook/jest/pull/7203/files 记录了重大更改。

对于使用require的我们来说,尚不清楚我们需要在存储库中进行哪些更改以解决此问题。

关于堆栈溢出,这里有很多类似的问题,但是没有一个问题使我找到了解决方案...

3 个答案:

答案 0 :(得分:1)

最近我在使用Jest 24.0.0时遇到了相同的问题。这就是我要运行它的工作。

首先,我按照文档中的说明安装了依赖项,但我使用的是npm毛线。

  npm install --save-dev babel-jest @babel/core @babel/preset-env

然后我必须添加一个名为 babel.config.js 的文件,其内容如下:

// babel.config.js
module.exports = {
  presets: [
    [
      '@babel/preset-env',
      {
        targets: {
          node: 'current',
        },
      },
    ],
  ],
};

然后它开始正常工作。希望对您有所帮助。

答案 1 :(得分:0)

尝试添加/更新.babelrc

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": {
          "node": "current"
        }
      }
    ]
  ]
}

答案 2 :(得分:0)

预设[0] [1] 必须是一个对象。 ===============重要

    {
        "presets": [
            [

                "env",
                {
                    "targets": {
                        "node": "current"
                    }
                },

                "react"
            ]
        ],
        "plugins": [
            "transform-object-rest-spread",
            "transform-class-properties"
        ]
    }

<!-- end snippet -->