【问题标题】:Jest gives an error: "SyntaxError: Unexpected token export" for node_modules\@microsoft\mgt-reactJest 给出错误:“SyntaxError: Unexpected token export” for node_modules\@microsoft\mgt-react
【发布时间】:2022-01-27 02:17:14
【问题描述】:

我正在使用 jest 来测试我的 react 应用程序。在对一个使用 node_modules@microsoft\mgt-react 的组件(这是一个打字稿模块)进行测试时,我收到以下错误。

 export * from './Mgt';
    ^^^^^^

    SyntaxError: Unexpected token 'export'

我尝试添加 transformIgnorePatterns,但它不起作用。

我的 babel.config.js 看起来像这样。

 module.exports = {
   presets: ["@babel/preset-env", "@babel/preset-react"],
   plugins: ["@babel/plugin-transform-react-jsx"],
 };

【问题讨论】:

    标签: reactjs typescript jestjs node-modules babel-jest


    【解决方案1】:

    我也遇到了同样的问题。我通过存根我正在使用的组件来解决它。

    例如,我在我的一个文件中使用 PeoplePicker:

    import { PeoplePicker as MgtPeoplePicker } from '@microsoft/mgt-react';
    
    const PeoplePicker = () => {
      return (
        // something
      );
    };
    

    我创建了一个文件来模拟它的实现:

    // __mocks__/mgt-react.js
    export default class PeoplePicker {
        // purposely empty
    }
    

    然后,在我的package.json 中添加了以下内容:

    {
      "jest": {
        "moduleNameMapper": {
          "@microsoft/mgt-react": "<rootDir>/__mocks__/mgt-react.js",
        }
      }
    }
    

    我尝试将其添加到我的jest.config.js,但没有成功。

    【讨论】:

      猜你喜欢
      • 2018-08-22
      • 1970-01-01
      • 2021-03-22
      • 2022-10-05
      • 2022-06-16
      • 1970-01-01
      • 1970-01-01
      • 2017-09-16
      • 2019-11-10
      相关资源
      最近更新 更多