Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Heroku、NodeJs应用程序、Gulp和资产修订问题_Node.js_Heroku_Gulp - Fatal编程技术网

Node.js Heroku、NodeJs应用程序、Gulp和资产修订问题

Node.js Heroku、NodeJs应用程序、Gulp和资产修订问题,node.js,heroku,gulp,Node.js,Heroku,Gulp,在将我的NodeJs应用程序推到Heroku时,我遇到了资产修改问题 我计划在安装后运行我的gulp生产任务。我的任务之一是修改文件(app.js->app.6789.js)。这意味着我必须清理index.ejs中对这些文件的引用。问题在于Heroku的临时文件系统(在该文件系统中,任何其他dyno中的进程都看不到写入的文件,任何写入的文件都将在dyno停止或重新启动时被丢弃)。因此,由于我在文件编写完成后运行此程序,因此rev很可能会丢失 一个想法是,我可以在本地编译所有这些,并推高reved

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

我计划在安装后运行我的gulp生产任务。我的任务之一是修改文件(app.js->app.6789.js)。这意味着我必须清理index.ejs中对这些文件的引用。问题在于Heroku的临时文件系统(在该文件系统中,任何其他dyno中的进程都看不到写入的文件,任何写入的文件都将在dyno停止或重新启动时被丢弃)。因此,由于我在文件编写完成后运行此程序,因此rev很可能会丢失

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


我是否遗漏了一些关于资产修改/Node/Gulp/Heroku的信息?我似乎找不到一个解决方案,也找不到一个发生在其他人身上的例子,这让我相信我的设置是错误的,这可能是真的。谢谢你的帮助

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

Heroku将部署分为“构建”和“运行”阶段。。。因此,当你推送你的应用程序时,你可以使用package.json
postinstall
脚本来构建你想要的任何资产,这些资产将一起存储在“slug”中。该段塞中的文件用于之后旋转的所有Dyno

任何其他dyno中的进程都看不到写入的文件,并且在dyno停止或重新启动时,写入的任何文件都将被丢弃

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

更多信息请点击此处:


谢谢,这回答了我的问题!这段文字让我困惑,你的解释/链接澄清了这一点。