微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决为什么 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 举报,一经查实,本站将立刻删除。