javascript - 如何通过不使用 new 关键字来运行带类的 NodeJS 项目
问题描述
我正在使用 TypeScript 开发一个 NodeJS 项目。但我不知道如何app.ts
使用类来运行文件。
如何在没有新关键字的情况下运行 Root 类?这就是我想说的。
应用程序.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();
}
}
如何在没有新关键字的情况下运行 Root 类?这就是我想说的。
因为它必须通过依赖注入来获取其构造函数的参数实例。
编译器启动代码:
ts-node-dev --respawn --transpileOnly ./app/root.ts
此代码尝试运行 root.ts 文件的代码。有一个 Root 类,但没有创建类的对象。因此,没有可运行的类或方法。
解决方案
要执行 TS 文件,您可以简单地安装和使用ts-node
,它具有与普通节点相同的行为,但会转译所需的任何文件。
这样,您甚至不需要在运行代码之前对其进行转译。
推荐阅读
- reactjs - 如何使用 flow-typed 类型化 Redux store?
- node.js - mongoose 创建和更新 _ nodejs mongoose
- c++ - 使用自己的 istream_iterator 封装数据访问
- mongoose - 如何在猫鼬中使用 UpdateMany
- php - 用php去除html代码和空格
- javascript - 如何在云功能中访问 firebase 数据库中的其他数据?
- material-ui - /styles/withStyles defaultTheme 选项,不能设置自定义主题
- ruby-on-rails - Rails one_to_many 关联不起作用
- uml - 如何绘制带有嵌套 if 语句的 UML 图?
- multi-select - Slack 应用程序是否支持消息菜单中的多选下拉菜单?