劫持缩小的构建 dist 文件夹以更改 api 后端目标

Posted

技术标签:

【中文标题】劫持缩小的构建 dist 文件夹以更改 api 后端目标【英文标题】:highjack minified builded dist folder to change a api backend target 【发布时间】:2021-02-16 00:48:12 【问题描述】:

说明

我有我的 Vue-CLI 应用程序的 dist 版本。在里面我使用 .env vars 为我的整个 APP 处理我的 Axios.baseURL。 ofc 在 dev 模式下我正在使用 dev 后端和 DB,在 stage 中,使用主后端和 DB 的镜像,并且在 ma​​ster用于生产的正确后端和数据库。

我想要的是用npm run build 构建以创建一个阶段(可测试的产品),然后如果测试结果为 positiv,则将整个 dist 文件夹移动到我的生产而不更改 dist 文件夹的任何内容,因为我知道编译这个 dist 文件夹中的东西已经准备好用于生产了。

然后我需要一个 config.js 来更改这个 dist 编译文件夹的 Axios.baseURL,以便将 API 请求定位到另一个,我的生产后端和数据库

任何想法如何做到这一点?像 .env 文件但没有 .env 文件。 我知道这听起来令人困惑,但这是我需要做的。

【问题讨论】:

【参考方案1】:

最简单的做法是使用一些 shell 实用程序(如 sed)来简单地“搜索和替换”已编译的 js 包中的 URL...

如果你真的想这样做不改变任何东西,唯一的选择是从你的应用程序中删除 URL(或其他配置)并使其 external 全局变量声明为其他一些 js 文件,然后需要将其包含在您的应用程序包之前的页面中。 step by step

搜索和替换似乎更加简单......

【讨论】:

以上是关于劫持缩小的构建 dist 文件夹以更改 api 后端目标的主要内容,如果未能解决你的问题,请参考以下文章

vue项目启动后访问的是dist吗

如何从构建的 Vue 项目中更改路径结构?

离子构建到 /dist 文件夹而不是 /www

手机被DNS劫持后的更改方案

在生产构建中更改 js 和 css 文件的文件路径

json 这个Gruntfile.js将清理你的dist文件夹,根据html中指定的配置连接和缩小所有js,css资产,放置修订,缩小