typescript 文件导入间歇性地附加.js扩展名

643ylb08  于 2023-01-10  发布在  TypeScript
关注(0)|答案(1)|浏览(226)

我已经设置了一个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
wwtsj6pe

wwtsj6pe1#

我不确定是什么原因导致了这个问题,但是您可以尝试以下方法,看看是否会强制VS代码使用最小路径结尾:
1.打开命令选项板CTRL + shift + P
1.选择> Preferences: Open User Settings
1.在设置中搜索Typescript Import Module Specifier Ending
1.我的VS代码中的默认值是Auto,请将其更改为minimal
如果希望此设置始终应用于您的项目,请将其添加到.vscode/settings.json

{
  "typescript.preferences.importModuleSpecifierEnding": "minimal"
}

相关问题