如何通过不使用 new 关键字来运行带有类的 NodeJS 项目



我正在使用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 ,它具有与普通节点相同的行为,但会转译所需的任何文件。

这样,您甚至不需要在运行代码之前转译代码。

最新更新