Heroku,NodeJs App,Gulp和资产修改问题

将我的NodeJs应用程序推送到Heroku时,我遇到资产修改问题。

我正计划在安装后运行我的gulp生产任务。 我的一个任务涉及修改文件(app.js – > app.6789.js)。 这意味着我必须清理对index.ejs中这些文件的引用。 问题在于Heroku的临时文件系统(其中没有写入的文件对于任何其他testing仪中的进程是可见的,并且在停止或重新启动测功机的时刻任何写入的文件将被丢弃)。 所以既然我在写完文件之后运行这个版本,很有可能会失去这个版本。

一个想法是我可以在本地编译所有这些,并推高了index.js,但至less在我的图像,他们会在那里两次,因为我压缩他们等,这增加了我的子弹大小…

我错过了关于资产修改/节点/ Gulp / Heroku的东西吗? 我似乎无法find一个解决scheme或实例发生在别人身上,这让我相信我把这个错误设置了错误,这可能是非常真实的。 谢谢你的帮助!!

我是Heroku的Node.js平台所有者。

Heroku将部署到“构build”阶段和“运行”阶段…因此,当您git push您的应用程序时,您可以使用package.json postinstall后脚postinstall构build您想要的任何资产,这些资源将一起存储在“slug ”。 这个slu files中的文件被用于之后所有的dynos。

其中没有写入的文件对于任何其他testing仪中的进程是可见的,并且在测功机停止或重新启动的时刻,写入的任何文件将被丢弃

我想这可能是什么让你跳动。 你的版本运行在一个单一的,特殊的,临时的dynamic – 然后它创build的文件系统被用于所有后续,持久的dynos。 因此,您可以安全地构build资源postinstall使用多个dynos并重新启动。

这里有更多的信息: