我正在尝试使用使用 Deno 的 back(或“api”)文件夹和一个 front(或“webapp”)文件夹来配置 monorepo一个 React 应用程序(或者实际上是任何使用 Vite 配置的框架)。
所以这个项目实际上混合了 Deno 和 Node(如果这是一个坏主意,你现在就可以阻止我)。 我可能还会考虑在整个项目中使用 Deno Linter 和 Formatter。
文件结构看起来像这样:
my-monorepo/
├── .vscode/
│ └── settings.json
├── back/
│ └── index.ts
├── front/
│ ├── src/
│ │ └── index.tsx
│ ├── index.html
│ └── vite.config.ts
├── .gitignore
├── deno.jsonc
└── package.json
它几乎可以工作,但我现在遇到的主要问题是 VSCode Deno 扩展。
是否可以在 front/
文件夹中使用内置的 VSCode JS 和 TS 语言服务,并在 back/文件夹中使用 Deno 语言服务器(deno lsp)
文件夹?
否则 TS 会生气(例如 back/
中的导入必须包含 .ts
但在字体中它们大多数不包含 .ts
)。
最后,如果我能让它工作,我希望任何克隆存储库的人都能轻松使用它。
Alo,这是供引用的 .vscode/settings.json 文件:
{
"deno.enable": true,
"deno.config": "./deno.jsonc",
"[typescript]": {
"editor.defaultFormatter": "denoland.vscode-deno",
}
}
最佳答案
您将遇到此设置的问题。请参阅这些相关的 GitHub 问题 1 , 2 .
相反,在一个工作区(您的后端)中使用 Deno 的 LSP,在另一个工作区(您的前端)中使用普通 TS LSP,并在每个工作区中使用专用的 VS Code 设置文件。 (如果您使用 Deno 执行 repo 顶级脚本编写,那么也可以复制顶级的 VS Code 配置。)
然后,为 monorepo 中的每个工作区打开一个单独的 VS Code 窗口,以便它们可以使用自己的 LSP 而不会发生冲突。
关于typescript - VSCode - 设置带有 Deno(后端)文件夹和 Vite(前端)文件夹的 monorepo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71038134/