我正在编写Angular应用程序。它是在没有TypeScript的情况下启动的,包含一些" legacy"用纯JavaScript编写的代码。
我们正在使用Express进行路由。 "旧" api.js
文件定义了JS文件的路由,如下所示:
let express = require('express');
let router = express.Router();
let businessLogic = require('../app/handlers/logic');
router.options('/*', function (req, res, next) {
res.send(200);
});
router.get('/helloworld',businessLogic.getHelloWorld);
现在,所有路由都在server.ts
文件中定义。新功能已经用TypeScript编写,但我仍然需要能够使用旧的JavaScript函数。 如何定义到这些功能的路由?
我的server.ts
文件包含以下内容:
import * as express from 'express';
import { NewLogicController } from './controllers/NewLogicController';
export class Server {
constructor() {
let router: express.Router;
router = express.Router();
NewLogicController.addControllerRoutes(router);
}
}
和控制器文件:
export class NewLogicController {
public static addControllerRoutes(router: Router): void {
router.get(
'/api/hello',
(req: Request, res: Response, next: NextFunction) => {
new NewLogicController().helloworld(req, res, next);
}
);