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

如何减小Puppeteer体积以解决Heroku平台Slug大小超出限制问题

Heroku Puppeteer 应用Slug超容优化方案
  • 禁用内置Chromium重复下载
    在Heroku应用环境变量中添加PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true,直接使用jontewks/puppeteer-heroku-buildpack提供的系统级Chromium,避免Puppeteer重复下载浏览器二进制文件,可直接减少100M+的占用空间。
  • 替换为轻量Puppeteer版本
    将项目依赖中的puppeteer替换为puppeteer-core,该包不含内置Chromium,本身体积比完整包小60M以上,启动时仅需指定executablePath: '/app/.apt/usr/bin/chromium-browser'调用buildpack提供的浏览器即可。
  • 精简依赖和冗余文件
    1. 将所有非生产依赖(如代码检查工具、测试框架、构建工具等)全部移入devDependencies,Heroku构建默认不会安装该分类下的包,可减少无效依赖占用
    2. 项目根目录新增.slugignore文件,将文档、测试用例、本地配置文件等不需要部署的内容加入忽略列表
    3. 在package.json中添加构建后清理钩子:
    "scripts": {
      "heroku-postbuild": "rm -rf node_modules/puppeteer/.local-chromium/*/locales/* && rm -rf node_modules/puppeteer/.local-chromium/*/swiftshader && rm -rf node_modules/**/docs node_modules/**/example"
    }
    
    可额外清理出50M+的空间。
  • 服务拆分
    若后续功能迭代后体积仍有超容风险,可将爬虫逻辑拆分为独立的无服务函数部署,主应用仅通过接口调用爬虫能力,Heroku上的主应用无需搭载浏览器相关依赖,slug体积可降至100M以内。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:27:01