如何在Node.js服务器中隐藏.html扩展名?

mam*_*aze 4 html node.js express

我在Node服务器中使用express.js

我有一个网页https://example.com/login.html,我希望能够在输入时访问它https://example.com/login

由于我已经习惯了ApachePHP,所以我知道如何使用.htaccess文件来执行此操作,但是在Node.js中我没有头绪。

Luc*_* S. 7

如果HTML文件很多,最好使用express.static而不是为每个文件创建路由:

app.use(express.static(htmlDir, { extensions: ['html'] }));
Run Code Online (Sandbox Code Playgroud)

其中htmlDir点到包含HTML文件的目录。这也适用于子目录,例如/pages服务pages.html但是/pages/page1服务pages/page1.html

签出serve-static其他选项,例如,index.html如果没有文件匹配,则默认为404或失败。


jat*_*ola 1

var express = require('express');
var app = express();
app.set('port', (5000));
app.get('/login', function(req, res) {
    res.render('login'); // no need to use '.html'
});
Run Code Online (Sandbox Code Playgroud)