我创建了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中正确编译/调试?
答案 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');
一切正常!