在visual studio中编译节点js的typescript

时间:2015-01-07 11:07:25

标签: node.js visual-studio-2013 typescript

我创建了nodejs typescript应用程序。作为标准的主文件是app.ts。如果我将所有代码放在app.ts应用程序中将正常工作。但是,如果我通过引用添加了打字稿文件,如:

/// <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(开始)按钮调试应用程序抛出错误。 问题是如何使用引用为nodejs创建typescript应用程序并在Visual Studio 2013中正确编译/调试?

2 个答案:

答案 0 :(得分:0)

删除这两行...

/// <reference path="Server/serverController.ts" />
import server = ServerCtrl;

对于您自己的代码,请使用正确的导入...

import server = require("./Server/serverController");

答案 1 :(得分:0)

我找到了解决方案。 我只是从包含的文件中删除module语句。类似的东西:

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

//after
export class ServerCtrl{ /* code */ }

然后使用Steve Fenton发布的代码:

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

一切正常!