You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js Express服务如何指定返回特定静态文件替代默认index.html

调整方案

Express的express.static中间件默认会将静态目录下名为index.html的文件作为根路径的默认响应内容,要实现访问根路径返回test.html,有两种常用实现方式,按需选择即可:

  • 方案1:新增根路径路由(改动最小,保留index.html访问能力)
    路由的匹配优先级高于静态中间件,直接为根路径/配置返回逻辑即可,原有静态资源访问逻辑不受影响,手动访问/index.html依然可以正常打开原首页文件。

    const express = require('express')
    const app = express()
    const path = require('path')
    
    // 根路径直接返回test.html
    app.get('/', (req, res) => {
      res.sendFile(path.join(__dirname, 'test.html'))
    })
    
    // 原有静态资源配置保留,其他文件正常访问
    app.use('/', express.static(path.join(__dirname)))
    
    app.listen(3000, () => console.log('Server up on port 3000'))
    
  • 方案2:修改静态中间件配置(替换默认索引规则)
    给express.static传入index配置项,直接修改默认加载的首页文件名,这种方式会替换所有静态目录层级的默认索引规则,不会再自动返回index.html。

    const express = require('express')
    const app = express()
    const path = require('path')
    
    // 指定默认索引文件为test.html
    app.use('/', express.static(path.join(__dirname), {
      index: 'test.html'
    }))
    
    app.listen(3000, () => console.log('Server up on port 3000'))
    

注意:两种方案都需要确保test.html确实存放在__dirname对应的目录(即示例中的c:\file1)下,否则会返回404错误。

内容的提问来源于stack exchange,提问作者seriously

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 13:12:33