我正在尝试使用快速路由器进行一个简单的项目,这是我的主要app.js文件:
"use strict";
const express = require("express");
const mongodb = require("mongodb");
const path = require("path");
const index = require("./routes/index");
const error = require(__dirname + "/routes/error");
const app = express();
app.set("view engine", "ejs");
app.use("/",index);
app.use("/new",error);
app.listen(4000);
这是我的索引文件,它可以毫无问题地导出和渲染。
const express = require("express");
const router = express.Router();
router.get("/",function(req,res){
res.render("index");
});
module.exports = router;
这是我的错误文件,当你向“/ new”发送一个get请求时它遵循完全相同的逻辑,但是它说“不能GET / new”而没有其他错误。请告诉我这里发生了什么。
const express = require("express");
const router = express.Router();
router.get("/new",function(req,res){
res.render("error");
});
module.exports = router;
注意:我有一个index.ejs和error.ejs文件
答案 0 :(得分:2)
看起来你错过了一个' / new'在您的路线网址中。
你要去
app.use("/new",error);
这意味着此路由器的所有路由都以' / new'。
开头然后在您的路由器中,您将路线定义为' / new'
router.get("/new",function(req,res){
res.render("error");
});
要访问此路线,您需要导航至" / new / new"
您是否尝试过使用以下网址的GET路线?
http://localhost:4000/new/new
我当然假设您已保存项目并手动或自动重新启动app.js(nodemon等)。