我是节点和部署的新手。我明白我在master分支上做的每一个改变都需要提交和推送。我的Heroku应用程序在这样做时没有更新,我已经解决了它,因为它在回购中提供了我/ dist文件夹中的文件。
所以我想知道,每当我更改我的代码时,我必须删除我的dist文件夹并运行" npm run build"再次让我的dist文件夹是最新的还是?
答案 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
文件夹,然后部署新版本。