【问题标题】:Jest - Cannot find module 'react-hot-loader'开玩笑 - 找不到模块'react-hot-loader'
【发布时间】:2019-07-27 12:53:03
【问题描述】:

我使用 Jest 编写了一个集成测试:

import 'jest-styled-components';
import React from 'react';
import { remAuto } from 'tidee-life-theme';
test('blah', () => {});

我得到了这个奇怪的输出:

 Cannot find module 'react-hot-loader' from 'core.js'

       7 | const core = {
       8 |     'background-color': '#fff',
    >  9 |     'color': fontColor,
         |                                                      ^
      10 |     'font-family': fontFamily,
      11 |     'font-family-bold': fontFamilyBold,
      12 |     'font-size': fontSize,

      at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:221:17)
      at ../tidee-life-theme/src/core.js:9:91
      at Object.<anonymous> (../tidee-life-theme/src/core.js:11:3)

当我查看core.js时,并没有提到react-hot-loader

export const fontColor = "#666";
export const fontFamily = `'open_sansregular', helvetica, arial`;
export const fontFamilyBold = `'open_sansbold', helvetica, arial`;
export const fontSize = 13;
export const fontLineHeight = 17 /13;

const core = {
    'background-color': '#fff',
    'color': fontColor,
    'font-family': fontFamily,
    'font-family-bold': fontFamilyBold,
    'font-size': fontSize,
    'line-height': fontLineHeight,
};

export default core;

我正在使用 lerna,tidee-life-theme 位于与正在运行测试的包相邻的包中。 那么,这里到底发生了什么?

【问题讨论】:

  • 您是否将热重载包装的组件导入到您的测试中?
  • 不,我不是。我还没有开始导入任何组件。我正在导入的 utils.js 文件仅包含样式组件的辅助函数。
  • 检查 core.js 中的特殊字符。您的问题是一个真正的谜。
  • 感谢您的建议,但我检查了,没有特殊字符。

标签: jestjs react-hot-loader


【解决方案1】:

React-Hot-Loader 有一个 babel 插件,它会将require('react-hot-loader') 添加到每个文件中。所以 - 即使你看不到它 - 它也可能在那里。

解决方案 - 为 jest 禁用 react-hot-loader 插件(或仅对 web 启用)。

有不同的方法可以做到这一点。最简单的一种 - 通过 webpack.conf 中的 babel-loader 配置选项添加它,然后从 .babelrc 中删除。

【讨论】:

  • 是否有这样做的文档?我从babel.config.jsplugins 部分删除了'react-hot-loader/babel',但我不确定在我的webpack 配置文件中做什么?
猜你喜欢
  • 1970-01-01
  • 2021-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-09
  • 2021-05-02
  • 2021-12-09
相关资源
最近更新 更多