让Express服务于默认页面的最简单方法是什么?

 手机用户2702933940 发布于 2023-02-02 20:31

我正在使用它将Node.js/Express设置为基本的Web服务器 - 它只提供一组静态页面而无需任何其他处理.当浏览器提取没有任何文件名的网站时,我希望它始终提供/default.html.

var express = require("express");
var app = express();
var port = process.env.PORT || 5000;

app.configure(function(){
  app.use(express.bodyParser());
});

app.use(express.logger());

app.use(express.static(__dirname ));

app.listen(port, function() {
  console.log("Listening on " + port);
});

我尝试过使用res.sendfile和res.redirect,但没有太大的成功; 我显然错过了一些东西,因为我最终得到了"没有方法"的错误.

你会说什么是实现目标的最简单方法?

2 个回答
  • 你可以这样做.假设它是一个相对于.js文件的html文件:

    app.get('/', function(req, res){
        res.sendfile('default.html', { root: __dirname + "/relative_path_of_file" } );
    });
    

    2023-02-02 20:37 回答
  • 我简要介绍了提供公用文件夹和指定要提供的默认页面的最佳做法.在查看"Express中间件"文档后,我的解决方案如下所示,

    var express = require('express');
    var app = express();
    
    var options = {
      index: "coming-soon.html"
    };
    
    app.use('/', express.static('app', options));
    
    var server = app.listen(8081, function () {
      var host = server.address().address;
      var port = server.address().port;
    
      console.log('my app is listening at http://%s:%s', host, port);
    });
    

    2023-02-02 20:37 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有