首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当使用‘`amchart5` 5’导入时,Jest遇到了一个意外的令牌

当使用‘`amchart5` 5’导入时,Jest遇到了一个意外的令牌
EN

Stack Overflow用户
提问于 2022-08-04 10:58:47
回答 1查看 196关注 0票数 4

我是通过使用amchart5集成进行滑稽测试来获得这个错误的。

代码语言:javascript
复制
 Details:

    C:\Users\BASHIMX5\Projects\Bitbucket\hf-ui\node_modules\@amcharts\amcharts5\index.js:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){export { Root } from "./.internal/core/Root";
                                                                                      ^^^^^^

    SyntaxError: Unexpected token 'export'

      2 |
      3 | import { ImplantReportComponent } from './implant-report.component';
    > 4 | import * as am5 from '@amcharts/amcharts5';
        | ^
      5 | import * as am5xy from '@amcharts/amcharts5/xy';
      6 | import am5themes_Animated from '@amcharts/amcharts5/themes/Animated';
      7 |

      at Runtime.createScriptFromCode (../../node_modules/jest-runtime/build/index.js:1728:14)
      at Object.<anonymous> (src/app/pages/patient-account-management/component/implant-report/implant-report.component.spec.ts:4:1)

jest.preset:

代码语言:javascript
复制
const nxPreset = require('@nrwl/jest/preset').default;

module.exports = {
    ...nxPreset,
    testMatch: ['**/+(*.)+(spec|test).+(ts|js)?(x)'],
    transform: {
      '^.+\\.(ts|mjs|js|html)$': 'jest-preset-angular'
    },
    transformIgnorePatterns: ['node_modules/(?!.*\\.mjs$)',  "[/\\\\]node_modules[/\\\\](?!(@amcharts)\\/).+\\.js$",  "^.+\\.module\\.(css|sass|scss)$"],
    resolver: '@nrwl/jest/plugins/resolver',
    coverageReporters: ['text', 'text-summary', "html", "cobertura"],
    moduleFileExtensions: ['ts', 'js', 'html'],
    globals: {
        crypto: require('crypto'),
        'ts-jest': {
            tsconfig: '<rootDir>/tsconfig.spec.json',
            stringifyContentPathRegex: '\\.(html|svg)$',
        },
    },
    snapshotSerializers: [
        'jest-preset-angular/build/serializers/no-ng-attributes',
        'jest-preset-angular/build/serializers/ng-snapshot',
        'jest-preset-angular/build/serializers/html-comment',
    ],
    "reporters": ["default", "jest-junit"]
};

模拟:

代码语言:javascript
复制
node_modules/
__mocks__/
├─ @amcharts/
│  ├─ amcharts5/
│  │  ├─ themes/
│  │  │  ├─ Animated.js
│  │  ├─ index.js
│  │  ├─ xy.js

但是得到上面的错误。有什么帮助吗?另外,我花了24小时来修理。但没有运气。我在经营nx工作。

EN

回答 1

Stack Overflow用户

发布于 2022-11-10 23:57:36

通过删除es6设置中的transformIgnorePatterns模块regex,我能够克服这一问题。另外,如果有其他库/应用程序正在使用该库,则它们还需要在其transformIgnorePatterns中具有相同的正则表达式设置。

代码语言:javascript
复制
const nxPreset = require('@nrwl/jest/preset').default;

module.exports = {
    ...nxPreset,
    testMatch: ['**/+(*.)+(spec|test).+(ts|js)?(x)'],
    transform: {
      '^.+\\.(ts|mjs|js|html)$': 'jest-preset-angular'
    },
    transformIgnorePatterns: ['[/\\\\]node_modules[/\\\\](?!(@amcharts)\\/).+\\.js$', '^.+\\.module\\.(css|sass|scss)$'],
    resolver: '@nrwl/jest/plugins/resolver',
    coverageReporters: ['text', 'text-summary', "html", "cobertura"],
    moduleFileExtensions: ['ts', 'js', 'html'],
    globals: {
        crypto: require('crypto'),
        'ts-jest': {
            tsconfig: '<rootDir>/tsconfig.spec.json',
            stringifyContentPathRegex: '\\.(html|svg)$',
        },
    },
    snapshotSerializers: [
        'jest-preset-angular/build/serializers/no-ng-attributes',
        'jest-preset-angular/build/serializers/ng-snapshot',
        'jest-preset-angular/build/serializers/html-comment',
    ],
    "reporters": ["default", "jest-junit"]
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73234718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档