最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Express res.render渲染错误的文件

网站源码admin13浏览0评论

Express res.render渲染错误的文件

Express res.render渲染错误的文件

我已经设置了服务器,以将把手用作视图引擎。在主页上的GET请求上使用res.render可以正确渲染该页面,但是使用res.render来渲染除该主页以外的页面可以渲染同一页面。即使使用res.send也将发送主车把页面,但表达式保持不变。

这是我的代码:

const express = require("express");
const subdomain = require("express-subdomain");
const handlebars = require("express-handlebars");
const path = require("path");
const bodyParser = require("body-parser");

const app = express();
const subdomain = express.Router();

app.set("views", path.join(__dirname, "/views/layouts"));
app.set("view engine", "handlebars");
app.engine("handlebars", handlebars({
    "layoutsDir": path.join(__dirname + "/views/layouts")
}));

subdomain.use(bodyParser.json());
subdomain.use(bodyParser.urlencoded({"extended": true}));

subdomain.get("/", (req, res) => {
    res.send("books/index.html");
});

subdomain.get("/books", (req, res) => {
    let data = {};

    res.render("books", data);
});

app.use(express.static("public"));
app.use(subdomain("subdomain", subdomain));

app.get("/index", async (req, res) => {
    let data = {};

    res.render("main", data);
});

server = app.listen(8080, () => {
    console.log("listening to requests on port " + 8080);
});

显然,我想生成一个页面,而不仅仅是我网站上的主页。我在做什么错?

回答如下:而不是:

app.set("views", path.join(__dirname, "/views/layouts")); app.set("view engine", "handlebars"); app.engine("handlebars", handlebars({ "layoutsDir": path.join(__dirname + "/views/layouts") }));

也许

// view engine setup
app.set("views", path.join(__dirname, "views/layouts"));
app.set("view engine", "handlebars");
发布评论

评论列表(0)

  1. 暂无评论