【发布时间】:2018-09-25 08:06:29
【问题描述】:
当我使用 Typescript 创建新的 Node 项目时,VsCode 自动导入建议根本不起作用。
重现步骤:
创建一个工作区目录。
运行npm init 指定main.ts 作为入口点文件。
导入 typescript cli npm i typescript
创建 tsconfig.json .\node_modules\.bin\tsc --init
创建包含console.log('Running');的main.ts
使用.\node_modules\.bin\tsc -w转译
通过在 VsCode 中单击 Debug 并使用默认的 Nodejs 启动配置运行。
导入一个库,例如Rxjs 导入 typescript cli npm i rxjs
结果:
在 main.ts 中尝试使用任何 Rxjs 类型 Observable、BehaviourSubject、全局运算符 from of sequenceEqual 等会导致没有任何导入帮助。
我已经阅读了 VsCode Typescript 文档,没有任何提示说明出了什么问题。 https://code.visualstudio.com/docs/languages/typescript
我尝试在 tsconfig.json 中明确设置 include 和 exclude 目录,但也没有效果。
是否需要在 tsconfig 中手动设置一些模块解析选项之类的。
我不知道,我不知道为什么这不起作用。
更新:
我设法通过指定使 VsCode 自动导入工作
"typeRoots": [ "node_modules" ]
...在 tsconfig.json 中
导致一个小问题,即 tsc 现在报告错误
error TS2688: Cannot find type definition file for '.bin'.
现在 tsc 似乎尝试读取 node_modules.bin 的内容,这没有帮助。我试过设置
"exclude": [ "./node_modules/.bin"]
在 tsconfig 中,但没有效果。
【问题讨论】:
-
可能由this answer 解决。不过,我没有足够的信心以重复的身份投票。
标签: node.js typescript visual-studio-code