首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让VSCode检测Jest中的moduleNameMapper (ts-jest)

如何让VSCode检测Jest中的moduleNameMapper (ts-jest)
EN

Stack Overflow用户
提问于 2020-04-07 04:43:58
回答 1查看 557关注 0票数 1

我的问题在这里描述:github.com/microsoft/vscode/issues/94474:VS代码集成开发环境显示无法找到使用moduleMappings的每个文件的模块(2307

示例:

jest.config.js:

代码语言:javascript
复制
module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'node',
  roots: ['<rootDir>/test'],
  transform: {
    '^.+\\.tsx?$': 'ts-jest'
  },
  moduleNameMapper: {
    '^@/(.*)$': '<rootDir>/src/$1',
    '^@@/(.*)$': '<rootDir>/test/$1'
  }
}

测试文件的一部分:

代码语言:javascript
复制
import { DateTimeInput } from '@/generated/prisma-client'
import { startTestServer } from '@@/helpers/apolloInstance'
import prisma from '@@/helpers/prismaInstance'
import { createUser } from '@@/helpers/userHelper'
import { toPromise } from 'apollo-link'
import gql from 'graphql-tag'

tsconfig.json:

代码语言:javascript
复制
{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "outDir": "dist",
    "lib": ["es6", "es7", "esnext", "dom"],
    "sourceMap": true,
    "forceConsistentCasingInFileNames": true,
    "noImplicitReturns": true,
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"],
      "@@/*": ["test/*"]
    },
    "esModuleInterop": true,
    "plugins": [{ "transform": "typescript-transform-paths" }]
  },
  "include": ["src/**/*.ts"],
  "exclude": ["node_modules"]
}

代码导致此错误:error in vscode

在链接问题中建议的解决方案没有帮助,因为它导致数十个测试文件被转换,这不是我想要实现的。有没有办法强制VSCode真正读取jest conifg?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-30 10:05:46

解决方案(可能更像变通方法)是为test和src创建更高级别的tsconfig,然后创建另一个tsconfig,扩展前面要编译的文件夹和特定文件夹。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61068656

复制
相关文章

相似问题

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