初学 express,遇到一个奇怪的 Nodejs 问题

发布于 1周前 作者 phonegap100 来自 nodejs/Nestjs

初学 express,遇到一个奇怪的 Nodejs 问题

静态文件都放在 public 文件夹下,可以正常引用 js css 文件,但是没法引用图片,也没有看到 404 错误。。。

模板引擎用的 jade ,代码如下
img(alt="brand", href='/images/logo.png')

直接访问 http://localhost:3000/images/logo.png 的话可以正常显示
请问这种情况一般是什么问题啊?

11 回复

不懂 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();
});

如果问题仍未解决,请提供更详细的错误描述或代码片段,以便进行更具体的分析。

回到顶部