我正在使用TypeScript开发一个NodeJS项目。但是我不知道如何使用类运行app.ts
文件。
如何在没有新关键字的情况下运行根类?这就是重点。
应用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!');
});
}
}
根.TS
import { App } from "../app";
export class Root {
constructor(application: App) {
application.run();
}
}
如何在没有新关键字的情况下运行根类?这就是重点。
因为它必须通过依赖注入获取其构造函数参数的实例。
编译器启动代码:
ts-node-dev --respawn --transpileOnly ./app/root.ts
此代码尝试运行 root.ts 文件的代码。有一个根类,但没有创建的类对象。因此,没有可运行的类或方法。
你不能用Node.JS"执行"一个.ts文件,你需要先用JavaScript编译它。使用打字稿模块执行此操作:npm i -s typescript
然后在终端中运行命令tsc
。
要执行 TS 文件,您只需安装和使用 ts-node
,它具有与普通节点相同的行为,但会转译所需的任何文件。
这样,您甚至不需要在运行代码之前转译代码。