使用 Heroku 部署 Node.js 应用程序时公共目录出现问题

Problems with public directory when deploying Node.js app with Heroku

本文关键字:问题 部署 Heroku Node js 应用程序 使用      更新时间:2023-09-26

我一直在开发一个应用程序,该应用程序将在客户端具有Timelinejs(开源js库)元素。我将 Timelinejs 库复制到我的应用程序的公共/javascripts/目录中。然后我在我的 html 标题中链接了它。当我在本地提供我的应用程序时,时间线一切正常。但是,我注意到当我将我的应用程序部署到 Heroku 时,它没有加载我的时间线。使用chrome js控制台,我发现它在public/Javascripts/Timelinejs文件夹中找不到我的文件。使用 Heroku run bash 命令,我发现文件结构中不存在我的 Timelinejs 文件,尽管存在一个空的 Timelinejs 目录。我需要指定任何命令或配置才能将这些文件发送到我的 Heroku 部署?

Heroku 有一个只读文件系统。可以写入的目录是 ./tmp 或 ./log。不能在公用文件夹中写入。这是因为他们如何管理他们的测功机以及扩展它们的方式。如果要存储某些内容,请使用 ./tmp 或建议使用 s3 存储桶。(正如我推测"tmp"代表"临时":D)

更多信息在这里: https://devcenter.heroku.com/articles/read-only-filesystem