node.js - 使用 Node.js 和 TypeScript 的正确方法是什么?

标签 node.js typescript webstorm

我刚刚开始将 Node.JS 与 TypeScript 结合使用,我遇到的第一件事是第一行出现编译错误(使用 WebStorm):

import http = require('http');

我尝试使用“var”,“module”而不是“require”,但我仍然收到“找不到模块http”或“无法理解'require'名称”。一段时间后,我在 stackoverflow 上只能找到一个解决方案( @basarat ),建议下载一些 node.d.ts file 并将其添加到项目中。 ,然后在顶部将其用作引用:

/// <reference path="node.d.ts" />

import http = require('http');

但是,它看起来不太好,因为我期望微软的产品或多或少可以开箱即用,而不需要使用第三方黑客。另外,看起来我需要将此引用文件添加到我需要使用 node.js 模块的每个文件中。你如何处理这个问题?

最佳答案

However, it doesn't look very nice as I expecting the product from Microsoft would work more or less out of box without the need to use 3rd party hacks

原始文件来自微软。这只是社区维护的。此外,使用开源并不是“第三方黑客”。 Typescript 编译器支持使用定义文件。

Also, it looks like I will need to add this reference file to every file I will need to use node.js modules.

您可以将引用的所有这些定义文件聚合到“vendor.d.ts”中,然后这是您需要引用的唯一文件。此引用也可以通过代码生成:https://github.com/TypeStrong/grunt-ts/blob/master/README.md#transforms

关于node.js - 使用 Node.js 和 TypeScript 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27756964/

相关文章:

javascript - 捕获 waitForSelector 错误

javascript - Node.js 请求返回 301 重定向

javascript - 使用 typescript 修改 JSON

Angular 2/4 - 如何测试指令@Input 值?

testing - 使用 WebStorm 调试单个 Protractor 文件

javascript - 使用 date-fns 获取两个范围内的重叠月份

javascript - 使用 res.locals.user 在所有前端 View 中显示用户对象

javascript - Intellij Idea/Webstorm jsdoc分析问题, Unresolved 变量

javascript - 从字符串中删除前导和尾随 <be>

css - WebStorm 中的 Stylelint 修复