Express Docsによると、ビューを保存するための一般的なディレクトリを設定するために使用できます<Application>.set("views", "my/views/path");
。各ルートに独自のビュー (およびその他のルート固有のコンテンツ) を持つ独自のディレクトリがあるようにプロジェクトをセットアップしました。私のサブドメインベースのアプローチを補完します。のようなことができるようにし<Router>.set("views", "router/views/");
たいので、ページをレンダリングしたいときに、その特定のルーターres.render("homepage");
の代わりに単に呼び出すことができます。res.render("<router>/views/homepage");
現在、ルートに次の設定がありますapp.js
。
app.set("views", join(__dirname, "domains"));
app.set("view engine", "ejs");
// ...
for (const d in domains)
{
if (d === "root")
continue;
const router = domains[d];
app.use(vhost(`${d}.${process.env.DOMAIN_ROOT}`, router));
}
私の「ブログ」ルーター(blog.website.com
サブドメイン用)には、次のものがあります。
router.get("/", function(req, res)
{
res.render("blog/views/index", {
title: "My Tech Blog"
});
});
"views"
の行に沿って、各ルーターのディレクトリを指定できるようにしたいと思いますrouter.set("views")
。