VS Code TypeScript玩笑模块映射

时间:2019-05-11 10:54:24

标签: javascript typescript visual-studio-code jestjs ts-jest

我在 VS代码中将 TypeScript 与Jest一起使用,并且我已经映射了一些模块路径,以便于访问这些模块。

非常简化,我的目录结构如下:

├── app
│   └── middleware
│       └── auth.ts
├── jest.config.js
├── package.json
├── package-lock.json
├── test
│   └── unittest
│       └── app
│           └── middleware
│               └── auth.test.ts
└── tsconfig.json

我的tsconfig.json中有这些映射:

"baseUrl": ".",
"paths": {
        "@app/*": [
        "./app/*"
    ]
}

这些映射在我的jest.config.js中:

moduleNameMapper: {
    "^@app/(.*)$": "<rootDir>/app/$1"
}

一切正常,我可以毫无问题地运行Jest,但是VS代码无法识别文件@app中的auth.test.ts映射(在auth.ts中可以正常运行)。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

您可以使用软件包module-alias在运行时分配别名,然后利用Jest的setupFile选项确保始终在Jest运行时创建别名。

编辑:问题需要对此答案的注释中提供的另一种解决方案