我刚刚开始将Node.JS与TypeScript一起使用,我遇到的第一件事是第一行的编译错误(使用WebStorm):
import http = require('http');
我尝试使用“var”,“module”而不是“require”但我仍然得到“找不到模块http”或“无法理解'要求'名称”。过了一会儿,我只能在stackoverflow找到一个解决方案(@basarat),建议下载并添加项目一些node.d.ts file,然后在顶部使用它作为参考:
/// <reference path="node.d.ts" />
import http = require('http');
然而,它看起来并不是很好,因为我预计微软的产品可以在不需要使用第三方黑客的情况下或多或少地开箱即用。此外,看起来我需要将此参考文件添加到我需要使用node.js模块的每个文件中。你是如何处理的?
答案 0 :(得分:4)
然而,它看起来并不是很好,因为我预计微软的产品可以在不需要使用第三方黑客的情况下或多或少地开箱即用
原始文件来自Microsoft。这只是社区维护。使用开源也不是“第三方黑客”。 Typescript编译器支持使用定义文件。
此外,看起来我需要将此参考文件添加到我需要使用node.js模块的每个文件中。
您可以将引用的所有这些定义文件聚合到'vendor.d.ts'中,然后这是您需要引用的唯一文件。此引用也可以编码:https://github.com/TypeStrong/grunt-ts/blob/master/README.md#transforms