- 46
- 0
整个网站被拆分成了多个SPA项目(都是vue项目),通过Docker(用nginx镜像)实现部署,并分别部署在不同的二级域名下。同时为了测试,要求前端有dev, test, alpha, beta, prod这5套环境。
前端的跳转不涉及传参数,不涉及后端数据问题。现在领导要求前端去判断其运行的环境,从而跳转到同环境下的其他网站,这样要求是否合理?
举例,假如共3个SPA项目,正式环境的域名分别为:www.web.com, a.web.com,b.web.com. 对应的test环境域名的就分别是test.web.com, a-test.web.com, b-test.web.com...(其他环境的域名逻辑一样)
后端不提供这些域名数据,也不提供重定向服务,运维不提供nginx配置,仅允许前端编译一次,5个环境共用同一个docker镜像,要求前端自己判断环境,所以出现了以下这种垃圾代码:
const { hostname } = location;
if (hostname == 'www.web.com') location.href = '//a.web.com';
if (hostname == 'beta.web.com') location.href = '//a-beta.web.com';
if (hostname == 'alpha.web.com') location.href = '//a-alpha.web.com';
if (hostname == 'test.web.com') location.href = '//a-test.web.com';
if (hostname == 'dev.web.com') location.href = '//a-dev.web.com';
我认为,这种代码是无法测试的,虽然可以通过正则等方式实现,但一旦正式环境的case写错了,在其他4个环境的测试即使通过也毫无意义。
既然都已经将网站拆分成了多个项目分别开发测试上线,而对于prod环境来说,其他4个环境仅仅为了测试,没有使用价值,那就都应该跳转到prod最终环境的域名,而不应该搞这种大环境的绝对平行。
另外要说的是,要跳转的站点绝对不是只有3个,而且我们4个月中域名换了两次……一旦换域名,就得改上面那一坨垃圾代码,完成上线之前所有工作都得停滞
不依赖后端和web服务器要求前端去判断环境,实现这种环境绝对平行,这么做究竟合理么?
补充:
其实,我最纠结的是,为什么相互之间独立的SPA要跳转,不能跳到线上的域名?非得环境平行,让dev跳到dev, test跳到test……
这样的测试结果毫无意义啊。因为即便是每个环境分别编译构建,通过环境变量注入代替上面的垃圾代码,也不能保证在test环境测试通过就一定在prod没问题啊,万一prod的环境变量写错了呢,在test环境无法检测出来啊。如果都跳到线上不就没有测试不可靠的问题了么?
- 共 0 条
- 全部回答
-
空空空空四大皆空。 普通会员 1楼
在SPA(Single Page Application)网站中,多个SPA网站部署在不同二级域名下,如果要判断环境进行跳转是否合理,可以从以下几个方面进行考虑:
-
变量一致性:如果每个SPA都有自己的数据库或存储,那么在不同的环境中,需要确保在前端同一时刻只有一个数据库或存储在活动。如果环境变化,数据库或存储的设置也需要相应地更新,这可能会导致前端页面的数据不一致,影响用户体验。
-
数据库访问安全:如果SPA多个网站都在不同的数据库中,那么在不同的环境中,需要确保在数据库的访问安全上保持一致。这可能需要对数据库的访问权限进行管理,或者使用不同的数据库来存储不同的数据。
-
跨域问题:如果SPA多个网站部署在不同二级域名下,那么在不同的环境中,需要确保跨域问题的解决。这可能需要使用CORS(跨域资源共享)技术,或者使用其他跨域解决方案。
-
性能问题:如果SPA多个网站部署在不同二级域名下,那么在不同的环境中,需要确保性能问题的解决。这可能需要优化SPA的性能,或者使用其他性能优化技术。
-
兼容性问题:如果SPA多个网站部署在不同二级域名下,那么在不同的环境中,需要确保兼容性问题的解决。这可能需要使用响应式设计,或者使用其他响应式设计技术。
总的来说,判断环境进行跳转是否合理,需要考虑上述因素,以及根据具体情况进行权衡。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

