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

时间:2015-04-22 23:59:54

标签: node.js heroku gulp

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

我打算在安装后运行我的gulp生产任务。我的任务之一涉及修改文件(app.js - > app.6789.js)。这意味着我必须清理index.ejs中对这些文件的引用。问题在于Heroku的短暂文件系统(其中没有任何文件写入任何其他dyno中的进程可见,并且任何写入的文件将在dyno停止或重新启动时被丢弃)。所以,因为我在写完文件之后运行它,所以转速很可能会丢失。

有一种想法是我可以在本地编译所有这些并推高reved index.ejs,但至少在我的图像中,他们将在那里两次,因为我压缩它们等,这增加了我的slug尺寸...

我是否遗漏了有关资产修订/ Node / Gulp / Heroku的内容?我似乎无法找到一个解决方案或这种情况发生在其他人身上,这让我相信我设置错了,这可能是真的。谢谢你的帮助!!

1 个答案:

答案 0 :(得分:0)

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

Heroku分裂部署到' build'并且'运行'阶段...所以当你git push你的应用时,你可以使用package.json postinstall脚本来构建你想要的任何资产,这些资产将一起存储在'蛞蝓&#39 ;.这个slug中的文件用于之后旋转的所有dynos。

  

其中没有写入的文件对任何其他dyno中的进程可见,并且任何写入的文件将在dyno停止或重新启动时被丢弃

我认为这可能是绊倒你的原因。你的构建运行在一个特殊的,临时的dyno上 - 然后它创建的文件系统用于所有后续的持久动态dynos。因此,您可以安全地在postinstall中构建资源,这些资源将用于多个dynos并重新启动。

此处有更多信息: