猿问

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

我正在使用 TypeScript 开发一个 NodeJS 项目。但是我不知道如何app.ts通过使用类来运行文件。


如何在没有 new 关键字的情况下运行 Root 类?这就是我想说的。


应用程序


// 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!');

    });

  }

}

根目录


import { App } from "../app";


export class Root {

    constructor(application: App) {

        application.run();

    }

}

如何在没有 new 关键字的情况下运行 Root 类?这就是我想说的。


因为它必须通过依赖注入获取其构造函数的参数实例。


编译器启动代码:


ts-node-dev --respawn --transpileOnly ./app/root.ts

此代码尝试运行 root.ts 文件的代码。有一个 Root 类,但没有创建的类对象。因此,没有可运行的类或方法。



忽然笑
浏览 206回答 2
2回答

猛跑小猪

要执行 TS 文件,您可以简单地安装和使用ts-node,它具有与普通节点相同的行为,但会转换所需的任何文件。这样你甚至不需要在运行之前转换你的代码。

明月笑刀无情

你不能用 Node.JS “执行”一个 .ts 文件,你需要先用 JavaScript 编译它。使用 typescript 模块执行此操作:npm i -s typescript然后tsc在终端中运行命令。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答