reactjs Jest在react应用程序中测试Go JS PackedLayout时出现“无法在模块外使用导入语句”错误

fiei3ece  于 2022-11-29  发布在  React
关注(0)|答案(1)|浏览(127)

我正在构建一个react应用程序,并计划使用Go JS作为应用程序的一部分。但是,当运行create react应用程序附带的默认yarn test时,我收到了以下错误:

/path/frontend/node_modules/gojs/extensionsJSM/PackedLayout.js:11
    import * as go from '../release/go-module.js';
    ^^^^^^

    SyntaxError: Cannot use import statement outside a module

      1 | import * as go from 'gojs'
    > 2 | import { PackedLayout } from 'gojs/extensionsJSM/PackedLayout'
        | ^
      3 | import { ReactDiagram } from 'gojs-react'

      at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1728:14)
      at Object.<anonymous> (src/components/Grid.tsx:2:1)
      at Object.<anonymous> (src/App.tsx:6:1)
      at Object.<anonymous> (src/App.test.tsx:4:1)
      at TestScheduler.scheduleTests (node_modules/@jest/core/build/TestScheduler.js:333:13)
      at runJest (node_modules/@jest/core/build/runJest.js:404:19)

我认为这个bug的出现是因为Go JS PackedLayout文件中的import * as go from '../release/go-module.js';行。我不太确定我应该如何修复这个问题。我假设我必须以某种方式告诉Jest允许在node_modules中的特定文件中导入。
我尝试将transformIgnorePatterns: ['/node_modules/(?!gojs)']添加到我的jest.config.ts文件中,但没有解决此问题。

tkclm6bt

tkclm6bt1#

记录于:https://gojs.net/latest/intro/extensions.html和位于:https://gojs.net/latest/api/symbols/PackedLayout.html,您应该将扩展文件复制到您的项目中,并更新其import语句以引用相同的GoJS库文件。

相关问题