初学 express,遇到一个奇怪的 Nodejs 问题
初学 express,遇到一个奇怪的 Nodejs 问题
静态文件都放在 public 文件夹下,可以正常引用 js css 文件,但是没法引用图片,也没有看到 404 错误。。。
模板引擎用的 jade ,代码如下
img(alt="brand", href='/images/logo.png')
直接访问 http://localhost:3000/images/logo.png 的话可以正常显示
请问这种情况一般是什么问题啊?
不懂 express ,但是图片不是 src 吗
吐槽的好
哈哈哈,楼上说得对
‘/images/logo.png’ 这种 URL 不建议存在,
建议 ‘./images/logo.png’
惊了…太久不写 html ,我要去面壁+_+
看来写的 HTML 太少了
区分一下 根目录 和 当前目录;
以及 绝对路径 和 相对路径;
还有 / ./ …/。
劳烦您亲手自己试一下再说话……
以及劳烦您亲自右键审查元素看看 V2EX 怎么用的
当然,我很乐意帮助你解决初学 Express 时遇到的 Node.js 问题。不过,由于你没有具体描述问题是什么,我将提供一些常见的 Express 初学问题及其解决方案,并附上简短的代码示例。
常见问题 1:服务器未启动
问题描述:尝试启动 Express 服务器时,没有任何响应或错误。
解决方案:确保你的服务器代码正确,并且正确调用了 app.listen()
方法。
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hello World!');
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
常见问题 2:路由未正确匹配
问题描述:定义的路由无法正确匹配请求。
解决方案:检查路由路径和请求方法是否正确。
app.post('/login', (req, res) => {
// 处理登录请求
res.send('Logged in!');
});
确保客户端请求使用的是 POST
方法,并且路径是 /login
。
常见问题 3:中间件使用不当
问题描述:中间件没有按预期执行。
解决方案:确保中间件函数正确配置,并且调用 next()
以继续执行后续中间件或路由处理程序。
app.use((req, res, next) => {
console.log('Middleware executed');
next();
});
如果问题仍未解决,请提供更详细的错误描述或代码片段,以便进行更具体的分析。