msidolphin / vue-api-creator

An api manager bases on axios
MIT License
10 stars 1 forks source link

关于打包域名的解决方案之奇思妙想? #9

Closed weiweidong1993 closed 4 years ago

weiweidong1993 commented 4 years ago

长话短说: 之前一直纠结一个问题就是如何动态的传入参数改变当前打包以后项目axios访问路径. 譬方说我 npm run build 后面加入参数 host=fl.np 那么打包到线上环境的接口访问的地址的前缀都是fl.np

前几天同事 克里斯多夫·奇奇突然奇思妙想 将项目config文件下test.env.js文件中的BASE_URL改为"''"

image

此时用nginx代理打包构建够的项目 惊讶的发现

此时项目axios所有接口访问的地址前缀跟地址栏的域名是一样的?

image

就像问问大佬,这样搞行不行,有啥后遗症不?

----之前为了解决这个问题是在自定义的cus文件里面截取了构建命令的参数 手动设置的 image


疫情当前,共克时艰,风雨同舟,不畏艰险!

msidolphin commented 4 years ago

@weiweidong1993 1、代理地址并不会显示在客户端,这个baseURL作用是什么? 2、通过命令行传入地 址我认为不是特别好,很容易出现失误;其实上线环境和测试环境通过nginx配置反向代理就可以了,配置文件没有特殊情况也不会去改的;baseURL的话整个项目用同一个就行了(实在是不一样的话也支持传入一个函数,动态返回baseURL)

weiweidong1993 commented 4 years ago

@weiweidong1993 1、代理地址并不会显示在客户端,这个baseURL作用是什么? 2、通过命令行传入地 址我认为不是特别好,很容易出现失误;其实上线环境和测试环境通过nginx配置反向代理就可以了,配置文件没有特殊情况也不会去改的;baseURL的话整个项目用同一个就行了(实在是不一样的话也支持传入一个函数,动态返回baseURL)

base_URL就相当于是当前项目所有请求的前缀(可以理解为如果base_url = 'fl.np'的话,name所有接口都会请求到fl.np这个域名下)

通过命令式的传入不会形成流程化,其实目前公司有测试和生产环境,这个需求知识产品提出的一个小的"骚需求"

msidolphin commented 4 years ago

@weiweidong1993 这样比较灵活,但是最好也要有默认配置