У меня есть набор различных маршрутов, использующих один и тот же шаблон main
, но любой маршрут находится всего в одном /
от базового маршрута, применяет CSS, но все, кроме этого, не будет его включать.
Так app.get('/profile
) будет рендериться с CSS, а app.get('/profile/edit')
- нет.
Я не уверен, почему это не работает, насколько я понимаю, эта строка должна применяться ко всем маршрутам, указанным ниже.
В server.js
app.use(express.static(__dirname + "/public"));
//Many different routes
//...
//...
//renders with CSS successfully
app.get("/profile", (req,res) => {
res.render('profile', {
layout: "main",
cause: {
title: title
},
csrfToken: req.csrfToken
});
});
//this is the route that renders without CSS
app.get("/profile/edit", (req,res) => {
res.render('edit', {
navItems: [
{name: 'See your fellow supporters',
link: "/signatures"}
],
layout: "main",
cause: '',
csrfToken: req.csrfToken
});
});
Шаблоны рулей
//edit.handlebars
<h2>Change your details</h2>
<form method="POST">
<input type="text" name="firstName" placeholder="first name">
<label for="firstName">First Name</label>
<input type="text" name="lastName" placeholder="last name">
<label for="lastName">Last Name</label>
<input type="email" name="email" placeholder="e-mail">
<label for="email">E-mail</label>
<input type="password" name="password" placeholder="password">
<label for="password">Password</label>
<input type="text" name="age" placeholder="age">
<label for="age">Age</label>
<input type="text" name="city" placeholder="city/town">
<label for="city">City or Town</label>
<input type="text" name="homepage" placeholder="homepage or social media">
<label for="homepage">Homepage</label>
<input type="hidden" name="_csrf" value="{{csrfToken}}">
<input id="formButton" type="submit" name="submit" value="Update">
</form>
//profile.handlebars
<h2>Let people know that you support: {{>cause}}</h2>
<form method="POST">
<input type="text" name="age" placeholder="age">
<input type="text" name="city" placeholder="city/town">
<input type="text" name="homepage" placeholder="homepage or social media">
<input type="hidden" name="_csrf" value="{{csrfToken}}"
<input id="formButton" type="submit" name="submit" value="continue">
</form>