劫持缩小的构建 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 的镜像,并且在 master用于生产的正确后端和数据库。
我想要的是用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 后端目标的主要内容,如果未能解决你的问题,请参考以下文章
json 这个Gruntfile.js将清理你的dist文件夹,根据html中指定的配置连接和缩小所有js,css资产,放置修订,缩小