NodeJS Express - 不使用 html 扩展显示 URL

Posted

技术标签:

【中文标题】NodeJS Express - 不使用 html 扩展显示 URL【英文标题】:NodeJS Express - Show URL without using html extension 【发布时间】:2015-08-02 05:09:26 【问题描述】:

我正在使用 Express 4.12.3 为网站提供静态文件。我希望能够导航到 example.com/mypage,它将检索 /mypage.html。换句话说,我希望能够在无需在 URL 中输入 .html 扩展名的情况下拉出页面。

我的代码如下所示:

var express     = require('express');
var app         = express();
var server      = require('http').Server(app);

app.use(express.static(__dirname + '/public'));

server.listen(4000);

我可以在使用 .html 扩展名时在浏览器中访问我的页面,但在删除扩展名时却找不到。任何想法如何配置我的快递服务器以允许这样做?

【问题讨论】:

【参考方案1】:

您可以设置extensions 选项以包含后备文件扩展名以尝试:

app.use(express.static(__dirname + '/public', 
  extensions: ['html']
));

【讨论】:

那是票。正是我想要的。有点不好意思,因为它是如此简单的解决方案。想知道我是如何在文档中错过的。 有没有一些简单的方法来解释斜杠而不需要使用像 express-slash 这样的依赖项?

以上是关于NodeJS Express - 不使用 html 扩展显示 URL的主要内容,如果未能解决你的问题,请参考以下文章

使用 nodejs Express 渲染带有数据的 html

Nodejs Express 重定向不起作用

nodejs的express使用介绍

nodejs express 设置html后缀模板

NodeJS(Express框架)实现 Token 验证免密登录

NodeJS 不使用 express 返回 JSONP