首页 > 解决方案 > 在 VS Code 中使用网络工作者破坏打字稿智能感知

问题描述

所以我在 VS Code 中有一个 typescript/React 项目,其中我有几个不同的浏览器应用程序和一个网络工作者。Web Worker 需要来自 React 应用程序的不同类型。通过在每个应用程序和 web worker 文件夹中拥有单独的 tsconfig.json 文件,我可以成功构建和运行该项目。但是,VS Code intellisense 在 web worker 代码中被破坏了 - 它仍在查找类型lib.dom.d.ts,这是不正确的。这篇文章似乎为这个问题提供了一个解决方案,但我完全采用了它规定的方法,将单独的 tsconfigs 放在每个文件夹中,根目录中没有 tsconfig,并且智能感知仍然无法正常工作。

文件夹结构大致为:

- src
  -app1
    tsconfig.json
  -app2 
    tsconfig.json
  -worker
    tsconfig.json

我没有包含 tsconfig 本身的实际内容,因为我知道它们是正确的,因为在我构建时打字稿都可以完美编译。当我查看 web worker 代码时,似乎只是 vscode 没有选择正确的 tsconfig。

标签: typescriptvisual-studio-codeweb-worker

解决方案


事实证明,如果 tsconfig.json 文件无效,VSCode 会忽略它,结果证明,虽然它在我的构建过程中被接受,但 tsconfig 存在问题,即我指定了"files":[./*.ts],但files只采用实际文件路径,而不是球体。这不会导致构建出现问题,因为tsify(浏览器插件)忽略了filestsconfig 中的条目!


推荐阅读