javascript – Jest transformIgnorePatterns无效

我花了很长时间查看有关此问题的其他问题并查看 Github上的其他项目,但没有一个答案似乎对我有用.

我正在我的项目中加载第三方库,当运行Jest测试时,我收到错误

export default portalCommunication;
^^^^^^

SyntaxError: Unexpected token export

> 1 | import portalCommunication from 'mathletics-portal-communication-service';

我已尝试以多种方式更新我的Jest配置以使其转换此库但我总是得到相同的错误.

这是我当前的jest.config.js文件

module.exports = {
    moduleNameMapper: {
        '\\.(css|scss)$': 'identity-obj-proxy','\\.svg$': '<rootDir>/test/mocks/svg-mock.js'
    },setupFiles: ['./test/test-setup.js'],transformIgnorePatterns: [
        '<rootDir>/node_modules/(?!mathletics-portal-communication-service)'
    ]
};

我还尝试添加transform属性来对这个mathletics-portal-communication-service目录运行babel-jest.

请帮忙!

解决方法

作为现在的解决方法,我已经更改了我的配置以使用moduleNameMapper选项来为该库加载模拟类.我宁愿使用transformIgnorePatterns,所以仍然会欣赏任何想法.

新配置:

module.exports = {
    moduleNameMapper: {
        '\\.(css|scss)$': 'identity-obj-proxy','\\.svg$': '<rootDir>/test/mocks/svg-mock.js','mathletics-portal-communication-service': '<rootDir>/test/mocks/mathletics-portal-communication-service-mock.js'
    },setupFiles: ['./test/test-setup.js']
};

相关文章

什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据...
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:...
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面