当使用preact时,create-react-app无法在测试中找到反应

时间:2018-01-22 13:11:21

标签: reactjs unit-testing jest create-react-app preact

我用“create-react-app”创建了一个项目。我已经通过弹出它并在webpack config中使用别名将preact添加到项目中。

alias: {
      'react': 'preact-compat-enzyme',
      'react-dom': 'preact-compat-enzyme',
      'react-dom/server': 'preact-render-to-string',
      'react-addons-test-utils': 'preact-test-utils',
      'react-addons-transition-group': 'preact-transition-group'
    }

这适用于代码,我可以呈现应用程序。但是,在测试中我收到以下错误

Cannot find module 'react' from 'App.test.js'

为什么找不到模块?除了别名之外,还有什么我们必须添加到配置中吗?

1 个答案:

答案 0 :(得分:1)

这需要一些挖掘但是,我通过在moduleNameMapper package.json中添加以下内容来实现它。

"moduleNameMapper": {
      "^react$": "preact-compat-enzyme",
      "^react-dom$": "preact-compat-enzyme",
      "^react-dom/server$": "preact-render-to-string",
      "^react-addons-test-utils$": "preact-test-utils",
      "^react-addons-transition-group$": "preact-transition-group",
},