为了账号安全,请及时绑定邮箱和手机立即绑定

我如何开玩笑地使用 ES6 依赖项

我如何开玩笑地使用 ES6 依赖项

肥皂起泡泡 2021-10-14 17:00:44
所以我有一个依赖包,我将它拉到我的 node_modules 文件夹中。这个包有一个像这样的导出        ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){export * from './client';为了解决这个问题,我使用https://github.com/standard-things/esm。在我的节点加载器中node -r esm index.js.但是,这不适用于我使用 Jest 的测试。我似乎无法弄清楚如何让 Jest 为我转换这些导入。我已经尝试了很多东西,我的配置文件的当前状态是。// babel.config.js// babel.config.jsmodule.exports = {    presets: [['@babel/preset-env', { targets: { node: 'current' } }], '@babel/preset-typescript'],    plugins: ['@babel/plugin-transform-modules-commonjs'],};const { pathsToModuleNameMapper } = require('ts-jest/utils');const { compilerOptions } = require('./tsconfig');module.exports = {    preset: 'ts-jest',    testEnvironment: 'node',    testMatch: ['<rootDir>/tests/**/*.{ts,js}'],    testPathIgnorePatterns: ['global.d.ts', 'utils.ts', '<rootDir>/node_modules/'], // tried with and without this    moduleNameMapper: pathsToModuleNameMapper(compilerOptions.paths, { prefix: '<rootDir>/' }),};仍然不断收到该错误。任何人都有一个建议。
查看完整描述

1 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

transformIgnorePatterns默认为["/node_modules/"]这意味着默认情况下在运行node_modules时没有任何内容被转换Jest。


如果node_modules在运行单元测试之前需要转换依赖项,则需要transformIgnorePatterns在Jest配置中将其列入白名单:


"transformIgnorePatterns": [

  "node_modules/(?!(module-that-needs-to-be-transformed)/)"

]


查看完整回答
反对 回复 2021-10-14
  • 1 回答
  • 0 关注
  • 201 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信