【问题标题】:vue: is it right to track dist files?vue:跟踪dist文件是否正确?
【发布时间】:2020-03-31 00:41:33
【问题描述】:

我的环境

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

我的笔记本电脑

我开发 vue 项目 -> npm(yarn) run build -> git add everthing in dist 文件夹 -> git commit -> push

生产服务器

git pull -> 一切顺利(因为我已经在笔记本电脑上构建了 dist 文件夹)。

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

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

当我使用时

vue-cli-service serve,它使用 localhost 服务器 url。

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

问题

但我在添加 qa 服务器时遇到了问题。

现在,共有三种环境

1.我的笔记本电脑

2。 qa 服务器

3.生产服务器

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

我尝试了什么

我在 qa 服务器中创建了 .env.local 并覆盖了 VUE_APP_PRODUCTION_API

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

并安装了 npm、yarn

并构建

成功了!但是......问题是它使 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. 有什么最佳实践可以分享给我吗?

【问题讨论】:

    标签: vue.js


    【解决方案1】:

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

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

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

    这是example using Github Actions, deploying on Github Pages

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-20
      • 2014-05-02
      • 2020-10-30
      • 2012-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-11
      相关资源
      最近更新 更多