编译的 TypeScript 代码在导入中需要“.js”扩展名,但 Jest 不需要扩展名

问题描述 投票:0回答:1

我尝试从 Z 复制 TypeScript 和 Jest 配置。我的代码可以在 GitHub

上找到

tsconfig.json
有:

"lib": [ "es5", "es6", "es7", "esnext", "dom" ],
    "target": "es2018",
    "esModuleInterop": true,
    "moduleResolution": "node",

如果我指定

.js
扩展名,则导入有效,但如果没有扩展名,则导入无效。

开玩笑的配置:

transform: {
    "^.+\\.tsx?$": "ts-jest",
},
testRegex: "test/.*\\.test\\.ts$",
moduleFileExtensions: ["ts", "js", "json", "node"],

Babel 配置:

module.exports = { presets: ["@babel/preset-env"] };

没有扩展名时导入可以工作,但如果有“js”扩展名则导入不起作用。

typescript babel-jest
1个回答
0
投票

需要将目标设置为

"target": "ESNext"
,然后不再需要扩展来运行代码。

© www.soinside.com 2019 - 2024. All rights reserved.