我刚开始使用Typescript和Express制作一个新项目来制作Web服务器,但是Express.Router不能正常工作。在/dir1
上安装基本/hello
路由时,它会告诉我/
。
我在做什么错了?
我已经尝试过应该是什么样的(cannot get /hello
和app.use("/", routes)
)以及各种奇怪的组合,例如使用app.use("/", routes)
和仅使用app.all("/", routes)
。他们都不起作用。
src / app.ts
app.get("/", routes)
src / routes / index.ts
import express from "express";
import handlebars from "express-handlebars";
import routes from "./routes";
const app = express();
app.engine("handlebars", handlebars());
app.set("view engine", "handlebars");
app.set("views", `${__dirname}/views`);
app.use("/", routes);
export default app;
src / index.ts
import { Router } from "express";
const router = Router();
router.get("/hello", (req, res) => {
res.send("hello");
});
export default router;
答案 0 :(得分:0)
好的,您可以输入类似以下内容:
src / app.ts 作为您的基本文件:
import express from "express";
import handlebars from "express-handlebars";
import routes from "./routes/index";
const app = express();
const PORT = 42069;
app.engine("handlebars", handlebars());
app.set("view engine", "handlebars");
app.set("views", `${__dirname}/views`);
app.use("/", routes);
app.listen(PORT, function () {
console.log('your node js server is running on PORT:', PORT);
});
export default app;
src / routes / index.ts :
import { Router } from "express";
const router = Router();
router.get("/hello", (req, res) => res.send("hello"));
export default router;
答案 1 :(得分:0)
好吧,没关系,我是一个完整的白痴,在构建它之后忘记重新启动节点进程。我发布的代码完全可以正常工作。
很抱歉浪费您的时间。