我正在使用TypeScript开发NodeJS项目。但是我不知道如何通过使用类来运行app.ts
文件。
如何在没有新关键字的情况下运行Root类?这就是重点。
App.TS
// Express
import { application as app } from 'express';
// Controllers
import { UserController } from './controllers/user.controller'
export class App {
constructor(userController: UserController) {
console.log("App is running");
console.log("UserController url path is : ", userController.getUrlPath);
}
run(): void {
app.listen(3000, function () {
console.log('App is running on port 3000!');
});
}
}
Root.TS
import { App } from "../app";
export class Root {
constructor(application: App) {
application.run();
}
}
如何在没有新关键字的情况下运行Root类?这就是重点。
因为它必须通过依赖注入来获取其构造函数的参数实例。
编译器起始代码:
ts-node-dev --respawn --transpileOnly ./app/root.ts
此代码尝试运行root.ts文件的代码。有一个Root类,但没有创建的类对象。因此,没有可运行的类或方法。
答案 0 :(得分:0)
您无法使用Node.JS“执行” .ts文件,您需要首先在JavaScript中对其进行编译。
使用打字稿模块执行此操作:npm i -s typescript
然后在终端中运行命令tsc
。
答案 1 :(得分:0)
要执行TS文件,您只需安装并使用ts-node
,它就具有与普通节点相同的行为,但是可以转换所需的任何文件。
这样,您甚至不需要在运行代码之前就对其进行翻译。