我已经设置了一个Create T3 App,在我项目中的某些.ts
文件中,当我导入另一个.ts
文件时,导入的自动导入/智能感知选项会添加一个.js
文件扩展名。
在同一目录或其他目录中的另一个.ts
文件中进行相同的导入,大多数情况下不会附加.js
文件扩展名。
有时候,在自动导入时附加了.js
文件扩展名的.ts
文件中,当我删除所有代码然后再次尝试导入时,它不会附加.js
扩展名。但是如果我关闭文件并再次打开它,它会再次附加。
我已注解掉所有settings.json
文件,因此使用默认设置
我已在禁用扩展的情况下重新启动VSCode
参见以下视频了解问题
https://user-images.githubusercontent.com/20436343/210012132-a6682005-5d22-485b-9e1b-cf617f3ffd1f.mov
https://user-images.githubusercontent.com/20436343/210012161-49604216-5ff5-4ee9-b0f8-de3b83458857.mov
不确定tsconfig.json
文件会有多大影响,但这是我的ts配置。
{
"compilerOptions": {
"target": "es2017",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"incremental": true,
"noUncheckedIndexedAccess": true,
"noUnusedLocals": true /* Report errors on unused locals. */,
"noUnusedParameters": true /* Report errors on unused parameters. */,
"allowSyntheticDefaultImports": true /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */,
"noImplicitAny": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true
},
"include": ["next-env.d.ts", "types/**/*.ts", "next-auth.d.ts", "**/*.ts", "**/*.tsx", "**/*.js", "**/*.cjs", "**/*.mjs"],
"exclude": ["node_modules"]
}
- VS代码版本:1.74.2
1条答案
按热度按时间wwtsj6pe1#
我不确定是什么原因导致了这个问题,但是您可以尝试以下方法,看看是否会强制VS代码使用最小路径结尾:
1.打开命令选项板
CTRL + shift + P
1.选择
> Preferences: Open User Settings
。1.在设置中搜索
Typescript Import Module Specifier Ending
。1.我的VS代码中的默认值是
Auto
,请将其更改为minimal
。如果希望此设置始终应用于您的项目,请将其添加到
.vscode/settings.json
中