如何更新dist文件夹,以便Heroku提供新代码?

时间:2017-09-22 01:54:00

标签: node.js git heroku npm

我是节点和部署的新手。我明白我在master分支上做的每一个改变都需要提交和推送。我的Heroku应用程序在这样做时没有更新,我已经解决了它,因为它在回购中提供了我/ dist文件夹中的文件。

所以我想知道,每当我更改我的代码时,我必须删除我的dist文件夹并运行" npm run build"再次让我的dist文件夹是最新的还是?

2 个答案:

答案 0 :(得分:0)

我不知道你的构建过程涉及什么(如果你愿意,你可以发布你的package.json),但你可能不需要删除你的dist文件夹,否则,是的。您构建代码然后部署它。

自动执行此操作的一种方法是设置持续交付流程。这将是像Jenkins这样的构建服务器或者像Semaphore CI这样的服务,它在推送时触发,为您构建代码并部署它。

修改:如果您正在使用vue-cli模板(例如webpack模板),则不需要删除dist目录,构建脚本会处理该目录为了你。 @m-ketan建议使用Heroku的构建钩子是一个很好的建议,但我想你可能想要使用postinstall并让它调用npm run build。见https://devcenter.heroku.com/changelog-items/844

答案 1 :(得分:0)

您实际上并未在每个heroku部署中替换dist文件夹。您需要删除heroku服务器上的现有dist文件夹。因此,为了处理这个问题,您可以使用heroku preinstall脚本钩子。您的package.json文件应如下所示:

scripts: {
  preinstall: "rm -rf /dist"
}

您现在可以运行脚本在heroku上进行部署,然后首先删除dist文件夹,然后部署新版本。