无法让智能感知适用于 .ts 文件。
测试.js
var http = require('http');
http.[intellisense available]
测试.ts
var http = require('http');
http.[no suggestions]
似乎没有读取索引.d.ts
这是tsconfig.json:
{
"compileOnSave": true,
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"sourceMap": true,
"watch": true
}
}
任何建议。 真的很想使用打字稿,但在学习节点时需要提示。 不喜欢使用javascript。
谢谢。
学习曲线。
对于.js文件:
var http = require('http');
对于 .ts 文件:
import http = require('http');
转译器将写出:var http = ...
">导入"而不是"var"使智能感知起作用。右键单击"转到定义"有效。
问题解决了。
VS Code 的 JavaScript 和 TypeScript 智能感知 用于 Node 和第三方模块由键入文件(d.ts
个文件(提供支持。
在 JavaScript 代码中,我们会自动下载这些类型,因为它们仅用于工具支持。例如,当我们在 js 文件中看到require('http')
时,我们会自动安装节点类型。这就是为什么在这种情况下获得建议的原因
在 TypeScript 代码中,必须手动管理键入文件,因为它们是编译过程的一部分。例如,要安装节点类型,只需运行npm install --save-dev @types/node
。以下是有关@types
的更多信息:https://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/
我怀疑您只需要安装节点类型即可获得正确的智能感知。
对我来说,有效的不是OP的答案,而是下面的代码:
import * as http from "http";