Я пытаюсь настроить простой сервис REST Hello World, используя NodeJS и машинопись.Я хочу разделить маршрутизаторы на разные файлы, но как-то не получается.
Проще говоря, для вызова GET на http://localhost:3000/welcome/hi
, почему Проект 1 работает, а Проект 2 - нет?Я пытался искать учебники, но код, кажется, не работает так, как я хочу.
Проект 1
import express from "express";
import { Router, Request, Response } from "express";
const app: express.Application = express();
const port: any = process.env.PORT || 3000;
const router: Router = Router();
const welcomeRouter: Router = Router();
welcomeRouter.get("/", (req: Request, res: Response) => {
res.send({"message": "Welcome!"});
});
welcomeRouter.get("/:name", (req: Request, res: Response) => {
let { name } = req.params;
res.send(`Hello, ${name}!`);
});
router.get("/", (req: Request, res: Response) => {
res.send({"message":"Hello, World!"});
});
app.use("/", router);
app.use("/welcome", welcomeRouter);
app.listen(port, () => {
console.log(`Listening at http://localhost:${port}/`);
});
Проект 2
. / App.ts
import { Router, Request, Response } from "express";
const router: Router = Router();
router.get("/", (req: Request, res: Response) => {
res.send({"message": "Welcome!"});
});
router.get("/:name", (req: Request, res: Response) => {
let { name } = req.params;
res.send(`Hello, ${name}!`);
});
export default router;
. / Server.ts
import express from "express";
import { Router, Request, Response } from "express";
import welcomeRouter from "./app";
const app: express.Application = express();
const port: any = process.env.PORT || 3000;
const router: Router = Router();
app.use("/welcome", welcomeRouter);
router.get("/", (req: Request, res: Response) => {
res.send({"message":"Hello, World!"});
});
app.use("/", router);
app.use("/welcome", welcomeRouter);
app.listen(port, () => {
console.log(`Listening at http://localhost:${port}/`);
});