我的项目结构如下:
.
└── my-app/
├── .configs/
│ ├── tsconfig.json
│ ├── webpack.merge.ts
│ ├── webpack.dev.config.ts
│ └── webpack.prod.config.ts
├── node_modules
├── src/
│ └── index.tsx
└── package.json
在命令行上运行 TypeScript
tsc --project .configs/tsconfig.json
编译没有问题。但 VSCode IDE 在 .tsx
中向我显示错误/警告。我不想禁用 TS 警告,所以这对我不起作用:How to disable TypeScript warnings in VSCode?, Why does VS Code throw "Cannot find module 'typescript'.ts(2307)" while the模块有吗?
VSCode 中是否有一个设置,我设置了一个路径,以便 VSCode IDE TypeScript 可以用于当前项目。我知道如果我将
tsconfig.json
放入根目录 (my-app
) VSCode IDE 将按预期工作。但我想将所有配置脚本保存在一个文件夹中而不是根目录中。 VSCode 允许这样做吗?
据我所知,VS Code(或更准确地说,内置的 TS 扩展)不支持将您的配置放在任何其他地方。
您可以做的就是在您的根中放置一个
tsconfig.json
,以扩展您的.config/tsconfig.json
。它不是最漂亮的,但你可以通过 1) 将其添加到你的 .git/info/exclude
以使 git 忽略它(无需修改 .gitignore
)和 2) 将它添加到你的 Files: Exclude
VS Code 选项来使其变得非常无缝在 VS Code 中向浏览器隐藏它。
如本答案中所述 https://stackoverflow.com/a/57948466/836701 要为项目中的特定文件夹启用
IntelliSense
,您可以在该文件夹中有一个 tsconfig.json
并将其作为通过 File -> Add Folder to Workspace…
您的工作区。因此,在您的情况下,您可以在项目根目录中创建 tsconfig.base.json
或仅创建 tsconfig.json
,然后在 tsconfig.json
文件夹中创建一个 src/
来扩展您的根目录 tsconfig.json
。因此 VSCode
将运行 IntelliSense
来运行 src/
,其中包含 tsconfig.json
。结果错误和警告将会消失。
进入 vscode 中的设置并搜索 TypeScript › 首选项:导入模块说明符,然后选择非相对选项。