我目前正在尝试使用 Pug(以前称为 Jade)和 Express 设置密码重置流程。
出于某种原因,包括附加了多个路径的 URL 在内的 GET 请求将使我的哈巴狗 View 文件仅包含文本。没有加载图像或样式。
例如:
app.get('/example', (req, res) => {
res.render('test')
})
将完美呈现带有样式和图像的测试文件。然而:
app.get('/example/test', (req, res) => {
res.render('test')
})
将仅使用文本呈现测试文件。缺少图像和样式。
关于可能导致此问题的原因有什么想法吗?
最佳答案
- 在你的
server.js
中添加app.use(express.static(__dirname+"/public"));
。 - 在您的
workspace
上创建一个名为public
的新文件夹,您的server.js
所在的位置。 - 现在在
public
中创建styles
和images
文件夹,并将您的 css 文件和图像文件放入每个文件夹中。 - 例如,将
test.html
上的 css 路径更改为/styles/test.css
。你现在应该让它工作了。
express
中定义的静态方法将寻找 public
文件夹作为绝对根路径,现在无论您获得多少层路由调用,您都可以访问您的styles
和 images
文件夹,无需回溯 css/images 文件的相对路径。
关于javascript - 为什么我的具有多个路径的 express router.get URL 只呈现文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46820158/