javascript - VS Code TypeScript Jest 模块映射

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

我在 VS code 中将 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 代码无法识别 auth.test.ts 文件中的 @app 映射(在 auth.ts 它工作正常)。

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

最佳答案

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

编辑:问题需要在对该答案的评论中得出的另一个解决方案

关于javascript - VS Code TypeScript Jest 模块映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56089622/

相关文章:

javascript - 使用 AngularJS 选择的占位符

javascript - HTML 数字输入行为异常的自定义验证

javascript - 尝试使用 TypeScript 为简单的导航栏实现面向对象的设计模型

angular - 在构造函数中使用 T 创建通用组件

batch-file - 在 vscode 中为 .bat 文件中的 'start' 命令打开一个新终端

visual-studio-code - 在 Visual Studio Code 中将 VS 的 Developer Command Prompt 设置为默认值

javascript - Node.js 如何解析 Node 模块的链接标签

javascript - 基于 ng-repeat 的旋转木马组件

javascript - Typescript:类型检查正确方法

python - Pylance 在 VSCode Jupyter 笔记本中不起作用