在 visual studio 中为节点 js 编译打字稿
compile typescript for node js in visual studio
我已经创建了 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(开始)按钮调试应用程序抛出错误。
问题是如何在 Visual Studio 2013 年使用引用和 compile/debug 正确地为 nodejs 创建打字稿应用程序?
去掉这两行...
/// <reference path="Server/serverController.ts" />
import server = ServerCtrl;
对于您自己的代码,请使用正确的导入...
import server = require("./Server/serverController");
我找到了解决办法。
我只是从包含的文件中删除了 module
语句。类似于:
//before
module ServerController {
export class ServerCtrl{ /* code */ }
}
//after
export class ServerCtrl{ /* code */ }
然后使用 Steve Fenton post 的代码,例如:
import serv = require('./Server/ServerController');
一切正常!
我已经创建了 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(开始)按钮调试应用程序抛出错误。 问题是如何在 Visual Studio 2013 年使用引用和 compile/debug 正确地为 nodejs 创建打字稿应用程序?
去掉这两行...
/// <reference path="Server/serverController.ts" />
import server = ServerCtrl;
对于您自己的代码,请使用正确的导入...
import server = require("./Server/serverController");
我找到了解决办法。
我只是从包含的文件中删除了 module
语句。类似于:
//before
module ServerController {
export class ServerCtrl{ /* code */ }
}
//after
export class ServerCtrl{ /* code */ }
然后使用 Steve Fenton post 的代码,例如:
import serv = require('./Server/ServerController');
一切正常!