gpt4 book ai didi

eclipse - 如何正确设置 Node.js + Eclipse + TypeScript?

转载 作者:搜寻专家 更新时间:2023-10-30 21:07:29 26 4
gpt4 key购买 nike

刚开始使用 Node.js + Eclipse + TypeScript 热身并且已经用了几天的时间。这是我从 node.js 网站使用的 Server.ts 文件的代码(只是在顶部添加了引用路径):

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

var http = require('http');

http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');

console.log('Server running at http://127.0.0.1:1337/');

问题是,如果我不使用底部的引用路径并使用 node.d.ts 文件,那么它会在我包含 http 模块的地方显示“找不到名称要求”。但是,如果我使用 node.d.ts 并引用它,那么它会在 node.d.ts () 中显示一堆错误:

import events = require("events"); // shows no such file or directory events.ts
import net = require("net"); // shows no such file or directory net.ts

确实没有这样的文件,即使它们应该是 js 文件而不是 ts(恕我直言)。无论如何,执行“tsc -v”显示我正在使用 TypeScript 1.3 版本。谷歌搜索后,我发现并使用了这个 node.d.ts file for my TypeScript 1.3 .但是它看起来像是错误的文件,或者我遗漏了一些要点。

我对这些 *.d.ts 文件仍然很困惑。我的 eclipse 项目生成了对某些 lib.d.ts 的引用,但如果我尝试引用它而不是手动 node.d.ts 文件,它无济于事。为什么我们需要它们来执行像 require 这样的基本命令?当然,我们将不胜感激 :)

更新 这是关于 node.d.ts 提示的截图:

enter image description here

Update2 最后,我明白了 :) 看来 TypeScript 本身对 Node.js 上存在的特殊 javascript 内容一无所知(这些功能在常规浏览器 javascript 中不存在)。这就是为什么 TypeScript 编译器提示 require 是 Node.js 特定的东西。因此,我们需要一些关于 Node.js 特定事物的 TypeScript 编译器的桥接定义。因此我们需要包含 node.d.ts。我们需要为其他 JavaScript 框架或库做同样的事情,以便能够在 TypeScript 中使用它们。问题仍然是为什么 Eclipse 提示我的 node.d.ts 文件...

更新3。我已经安装了 Enide Studio 2014 Node 插件,其中包括我工作计算机(Maverics)上的 Typecs 插件。这是我为 Eclipse 安装的插件列表:

enter image description here

现在我注意到没有 Enide 插件,我记得昨天它的安装花了很长时间,因此感谢@SteveFenton spot,这可能是个问题。今天又开始安装Enide插件,安装过程截图如下:

enter image description here

在我家的Yosemite mac上同样的Eclipse版本(Luna)同样安装成功。

最佳答案

您应该能够使用 import 而不是 var:

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

//var http = require('http');
import http = require('http');

即使 http 不是文件,这也能正常工作。 node.d.ts 中的所有内容都应该以这种方式可用。如果你正在使用其他 Node 的东西,比如 express,你将需要额外的 .d.ts 文件。

关于eclipse - 如何正确设置 Node.js + Eclipse + TypeScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27802690/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com