为什么 Jest 设置“transformIgnorePatterns”会导致 React 应用程序中的作用域 CSS 导入出现问题?

问题描述

在将 transformIgnorePatterns 添加到 Jest 设置后,我的 React 应用程序的 Jest 测试遇到了导入问题。我在根 package.json 文件的“jest”部分中仅添加了以下认设置:

"transformIgnorePatterns": [
  "/node_modules/","\\.pnp\\.[^\\/]+$"
]

这导致了我在 app.js 中的作用域 CSS 导入的问题。

import '@progress/kendo-theme-material/dist/all.css';

    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){@charset "UTF-8";
                                                                                             ^

    SyntaxError: Invalid or unexpected token

      1 | import AppRoutes from './routes/appRoutes';
      2 | import CssBaseline from '@material-ui/core/CssBaseline';
    > 3 | import '@progress/kendo-theme-material/dist/all.css';
        | ^
      4 |
      5 | // local imports
      6 | import './App.css';

      at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1350:14)
      at Object.<anonymous> (src/App.js:3:1)

如果我注释掉 CSS 导入行,问题就会消失。是什么导致了这个问题,我该如何解决

我将需要 babel 来编译一个未编译的 node_module 以便 Jest 最终无误地运行,但我正在尝试首先解决这个问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)