似乎每个人都可以使用示例,但我的却不能...
我在 Windows 7 64 位中安装了 NodeJS 0.8.2。是否使用 npm install -g typescript
来获取 TypeScript 支持。然后我从 TypeScript 下载了源代码并尝试了示例
但我就是无法编译节点示例。它返回错误消息:
c:\..\..\typescript\bin\tsc.js:21182
if(_fs.existsSync(path)) {
^
TypeError: Object #(Object) has no method 'existsSync'
...
...
还有其他人遇到过这个问题吗?
环顾四周,一无所获。
假设我有这段代码:
///<reference path="node.d.ts"/>
import http = module("http");
var server = http.createServer(function (req, res)
{
res.writeHead(200, { 'ContenType': 'text/plain' });
res.end('Hello World');
});
server.listen(1337);
在 Visual 2012 Express for web 中输入此内容,没有显示错误。引用已就位,并且智能感知工作正常。但是当我使用带有节点的命令行工具来编译此文件时,它会弹出进一步显示的错误..我没有在自己的代码中包含 _fs.existsSync 。
好吧...在尝试了 tsc.js 和 nodejs 之后...我意识到在节点引擎中从 require('fs') 创建的 _fs 对象根本没有一个名为 containsSync 的函数...
经过更多搜索后...显然这个函数现在位于路径模块下... 我将尝试编辑 tsc.js 以使用路径模块的 containsSync 函数。
最佳答案
好吧...更改 tsc.js 以使用 _path.existsSync 似乎可行。 但经过一番摆弄,我发现我系统上的节点版本仍然是 v0.6.2。 尽管我之前尝试安装从网站下载的 v0.8.12。 删除 v0.6.2 并安装 v0.8.14 后,现在 fs 模块包含目标函数。
我想知道为什么这个系统上的node版本卡在0.6.2 ~''~
关于TypeScript 节点示例无法编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13085229/