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

如何免费托管含子文件夹PUG模板且依赖Express.js的网站?

解决方案:直接托管Express+PUG项目无需编译HTML

核心思路是利用支持Node.js的免费托管平台直接部署你的完整Express项目——因为Express本身内置了PUG模板渲染能力,不需要预编译PUG为HTML,也不用修改现有服务端代码。以下是几个可行的免费方案及分步操作:

方案1:Render(免费层)

  • 先把你的项目推送到GitHub/GitLab仓库,确保package.json包含:
    • 启动脚本:比如"start": "node app.js"(替换成你的入口文件名)
    • 依赖项:express和pug必须在dependencies里(不要放在devDependencies)
  • 进入Render控制台创建「Web Service」,关联你的代码仓库
  • 部署配置无需额外调整:平台会自动执行npm install,然后运行你的start脚本
  • 部署完成后,访问平台分配的域名,Express会自动处理PUG模板的渲染

方案2:Fly.io(免费额度)

  • 同样先把项目推送到代码仓库,确认package.json配置正确
  • 安装Fly的CLI工具,登录后在项目根目录执行fly launch
  • 按照CLI提示完成配置(无需修改模板相关设置,保持默认即可)
  • 执行fly deploy完成部署,平台会托管你的Node.js服务,PUG模板正常渲染

方案3:Glitch

  • 直接在Glitch控制台导入你的GitHub仓库,或者新建Node.js项目后复制代码进去
  • Glitch会自动检测package.json并安装依赖,确保start脚本正确、pug依赖已添加
  • 项目启动后,Glitch会分配临时域名,直接访问即可,还支持实时编辑调试

关键注意事项

  • 所有免费平台都有额度限制(比如流量、运行时长),个人小网站完全够用
  • 确保你的Express项目已正确配置PUG引擎,示例代码:
    const express = require('express');
    const app = express();
    
    app.set('view engine', 'pug');
    app.set('views', './views'); // 替换成你的PUG文件实际存放目录
    
    // 你的路由逻辑,比如:
    app.get('/', (req, res) => {
      res.render('index'); // 渲染views/index.pug
    });
    
    app.listen(process.env.PORT || 3000);
    
  • 不要硬编码敏感信息,使用平台提供的环境变量功能管理密钥

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 01:39:56