首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法在不带扩展名的情况下从express中提供静态html文件?

有没有办法在不带扩展名的情况下从express中提供静态html文件?
EN

Stack Overflow用户
提问于 2013-06-03 18:52:18
回答 5查看 13.4K关注 0票数 22

我想提供一个html文件而不指定它的扩展名。有没有什么方法可以在不定义路由的情况下做到这一点?例如,它不是

代码语言:javascript
运行
复制
 /helloworld.html

我想做的就是

代码语言:javascript
运行
复制
 /helloworld
EN

Stack Overflow用户

回答已采纳

发布于 2013-06-03 19:17:07

一个快速的解决方案是将.html附加到没有句点的请求中,并且公共目录中存在对应的HTML文件:

代码语言:javascript
运行
复制
var fs        = require('fs');
var publicdir = __dirname + '/public';

app.use(function(req, res, next) {
  if (req.path.indexOf('.') === -1) {
    var file = publicdir + req.path + '.html';
    fs.exists(file, function(exists) {
      if (exists)
        req.url += '.html';
      next();
    });
  }
  else
    next();
});
app.use(express.static(publicdir));
票数 21
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16895047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档