Vue:跟踪dist文件是否正确?

时间:2019-12-06 02:36:28

标签: vue.js

我的环境

开发vue项目时,我会跟踪dist文件夹中的文件。

我的笔记本电脑

我开发了vue项目-> npm(yarn)运行build-> git在dist文件夹中添加所有内容-> git commit->推送

生产服务器

git pull->一切都很好(因为我已经在笔记本电脑上建立了dist文件夹)。

我的.env文件中有生产服务器和本地服务器的URL

VUE_APP_PRODUCTION_API=https://myprodserver.com/
VUE_APP_LOCAL_API=http://localhost:3000/

当我使用

vue-cli-service serve,它使用本地主机服务器URL。

vue-cli-service build,它使用生产服务器URL。 (因此,URL是在构建时分配的,而不是在运行时分配的)

问题

但是当我添加质量检查服务器时遇到了一个问题。

现在,有三个环境

1。我的笔记本电脑

2。质量检查服务器

3。生产服务器

我发现qa服务器中的vue项目尝试与PRODUCION_API进行对话(因为它拉起了我在笔记本电脑上构建并提交的生产服务器的dist文件夹)。

我尝试过的

我在质量检查服务器中创建了.env.local并改写了VUE_APP_PRODUCTION_API

# qa server .env.local
VUE_APP_PRODUCTION_API=http://qaserver.com/

并安装了npm,纱线

并构建

成功了!但是...问题是它会使git status输出变脏。 当我git status

changes:
file removed: dist/file...
file removed: dist/file...
file removed: dist/file...
file removed: dist/file...

我知道我可以.gitignore dist文件夹,并且每当我在每个环境中git pull时都进行构建...但是那会很麻烦。那将使我不得不在生产服务器中安装npm,yarn,并安装整个依赖项。 (因为我以前是在笔记本电脑上构建的,所以之前没有必要)

问题

  1. 我是否每次都要更改基本URL都构建项目?
  2. 从拳头位置跟踪dist文件夹是否正确?
  3. 您有什么可以分享给我的最佳实践吗?

1 个答案:

答案 0 :(得分:1)

理想情况下,您希望使用Github Actions或Gitlab CI之类的工具来部署项目。

这将允许您使用给定目标环境的必要环境变量来构建项目。

通常,dist文件不包含在版本控制中,因为每个从事项目工作的开发人员都会拥有不同的版本,并且您会经常遇到合并冲突。

这里是example using Github Actions, deploying on Github Pages