Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript VS代码类型脚本Jest模块映射_Javascript_Typescript_Visual Studio Code_Jestjs_Ts Jest - Fatal编程技术网

Javascript VS代码类型脚本Jest模块映射

Javascript VS代码类型脚本Jest模块映射,javascript,typescript,visual-studio-code,jestjs,ts-jest,Javascript,Typescript,Visual Studio Code,Jestjs,Ts Jest,我将TypeScript与Jest一起使用VS code,并映射了一些模块路径,以便更容易地访问这些模块 非常简单,我的目录结构如下所示: ├── app │   └── middleware │      └── auth.ts ├── jest.config.js ├── package.json ├── package-lock.json ├── test │   └── unittest │   └── app │   └── middleware │  

我将TypeScript与Jest一起使用VS code,并映射了一些模块路径,以便更容易地访问这些模块

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

├── app
│   └── middleware
│       └── auth.ts
├── jest.config.js
├── package.json
├── package-lock.json
├── test
│   └── unittest
│       └── app
│           └── middleware
│               └── auth.test.ts
└── tsconfig.json
我有这些映射,我的
tsconfig.json

“baseUrl”:“,
“路径”:{
“@app/*”:[
“/app/*”
]
}
我的
jest.config.js
中的这些映射:

moduleNameMapper:{
“^@app/(.*)$”:“/app/$1”
}
一切正常,我可以毫无问题地运行Jest,但VS代码无法识别文件
auth.test.ts
(在
auth.ts
中)中的
@app
映射

有办法解决这个问题吗?

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


编辑:该问题需要另一个解决方案,该解决方案已在对此答案的评论中达成

很抱歉,但这没有帮助。因为这只会改变运行时的行为(这很好,我的测试在没有它的情况下运行),VS代码无法识别插件。对不起,我误解了。那么我是否理解在您的
auth.test.ts
VSCode中没有检测到
@app/middleware/auth.ts
?将您的别名路径与我在自己的项目中使用它们的位置进行比较,我发现的唯一区别是,我没有使用前缀
/
(来自
/app/*
)。我的工作方式是根据Jest默认规范从
src
\uuu测试
的基础上工作。我建议您尝试删除
/
前缀作为初学者-我可以想象它可能错误地引用了
测试/unittest/app
。删除
/
没有帮助,但是移动到
\uuuuuuuuuuuuuuuuuuuuuuuuuu
确实做到了!非常感谢。很高兴你设法解决了这个问题。
***/\uuuuuu测试
模式来自。我编辑了我的原始答案以参考评论。你根本用不着,但是如果你认为答案是被接受的,我会很感激的。