Node.js 在visual studio中为节点js编译typescript

Node.js 在visual studio中为节点js编译typescript,node.js,visual-studio-2013,typescript,Node.js,Visual Studio 2013,Typescript,我已经创建了nodejs类型脚本应用程序。标准的主文件是app.ts。若我将所有代码放入app.ts,应用程序将正常工作。但如果我有一个typescript文件,其中添加了如下引用: /// <reference path="Scripts/typings/node/node.d.ts" /> /// <reference path="Server/serverController.ts" /> var _ = require('underscore'); impor

我已经创建了nodejs类型脚本应用程序。标准的主文件是app.ts。若我将所有代码放入app.ts,应用程序将正常工作。但如果我有一个typescript文件,其中添加了如下引用:

/// <reference path="Scripts/typings/node/node.d.ts" />
/// <reference path="Server/serverController.ts" />

var _ = require('underscore');

import server = ServerCtrl;

var controller: server.ServerCtrl = new server.ServerCtrl();
controller.startServer();
应用程序抛出错误,因为它找不到ServerCtrl。正如我看到的,编译的js文件是:

/// <reference path="Scripts/typings/node/node.d.ts" />
/// <reference path="Server/serverController.ts" />
var _ = require('underscore');
var server = ServerCtrl;
var controller = new server.ServerCtrl();
controller.startServer();
//# sourceMappingURL=app.js.map
所以我按下F5开始按钮来调试应用程序抛出的错误。
问题是如何使用引用为NodeJ创建typescript应用程序,并在Visual Studio 2013中正确编译/调试它?

删除这两行

/// <reference path="Server/serverController.ts" />
import server = ServerCtrl;
我找到了解决办法。 我只是从包含的文件中删除模块语句。比如:

//before
module ServerController {
    export class ServerCtrl{ /* code */ }
}

//after
export class ServerCtrl{ /* code */ }
然后使用Steve Fenton post的代码,如:

import serv = require('./Server/ServerController');

一切都好

Visual Studio表示无法通过指定的路径找到外部模块文件。因此,我运行应用程序nodejs时说找不到模块'Server/serverController.ts',请删除.ts扩展名并仔细检查路径是否正确。结果是相同的。Node js时说找不到模块'Server/serverController'。但如果我按Ctrl+鼠标左键,Visual Studio将正确地转到serverController.ts文件。但是再次突出显示Server/serverController,错误是无法通过指定路径找到外部模块文件。您是否可以尝试使用点斜杠启动路径,即../Server/ServerControllerI我已尝试在另一个IDE webstorm中使用测试项目,问题是相同的。如果我在文件名typescript前面加上./error TS2306:file'E:/Project/test/testModule.ts'不是外部模块。
import serv = require('./Server/ServerController');