📜  从 url express js 中删除 .html - Javascript (1)

📅  最后修改于: 2023-12-03 15:21:54.175000             🧑  作者: Mango

从 url express js 中删除 .html - Javascript

有时候在开发中,我们需要从 URL 中删除文件的后缀名,例如 .html。在 Express.js 中,我们可以使用中间件函数来实现这一功能。

代码实现

我们可以使用 path.parse() 方法来获取 URL 中的文件名和扩展名,并从 req.url 中删除扩展名。以下是实现此功能的示例代码:

const express = require('express');
const path = require('path');
const app = express();

app.use((req, res, next) => {
  const parsedUrl = path.parse(req.url);
  if (parsedUrl.ext === '.html') {
    const newPath = path.join(parsedUrl.dir, parsedUrl.name);
    req.url = newPath;
  }
  next();
});

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(3000, () => {
  console.log('Server started on port 3000');
});

在上面的代码中,我们首先使用 path.parse() 方法来解析 URL,获取文件的扩展名。如果扩展名是 .html,我们将使用 path.join() 方法来构建新的 URL,不包含文件的扩展名,并将其赋值给 req.url。最后,我们将调用 next() 方法,将控制权传递给下一个中间件或路由处理程序。

结束语

上面的代码演示了如何在 Express.js 中删除 URL 中的文件扩展名。这可以用于更好的 SEO,或者对于服务器中的 URL 可读性。希望这篇文章对你有所帮助!