2

我在VS 代码中使用带有 Jest 的TypeScript ,并且我已经映射了一些模块路径以便更容易地访问这些模块。

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

├── 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.tsauth.ts它工作正常)。

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

4

1 回答 1

1

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

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

于 2019-05-11T16:20:39.533 回答