求助:能否用 docker 来包裹网站的每个子页面?

2022-04-12 12:51:07 +08:00
 Vincent332

我的目的是希望能在少修改,甚至不修改子页面代码的情况下把网页设计成一个类似可插拔系统。理想情况下子页面在 docker 写好单独的页面之后不需要修改只要在主页面只增加一个链接就可以工作。

每个子页面是独立内容,都是从主页面跳转,网址前缀都是主页面的 url

这种需求最好用什么方法实现?如果子页面需要有前后端交互的情况会有什么影响呢?

3544 次点击
所在节点    Docker
24 条回复
dayeye2006199
2022-04-12 13:01:26 +08:00
没看懂这个需求。话说静态页面不就是这样的吗?每个页面就是个 HTML+js 的独立文件。
Vincent332
2022-04-12 13:04:58 +08:00
@dayeye2006199 是,静态页面应该没什么问题,我在想有数据库需求之类的 api 有什么方法可以在不修改子页面代码的情况下放进主页面还能正常工作
shabbyin
2022-04-12 13:08:29 +08:00
主项目里 nginx 配置反向代理到子页面的 nginx ?
FreeEx
2022-04-12 13:11:40 +08:00
你需要的不是 docker ,而是一个可动态控制的菜单栏。
dcsuibian
2022-04-12 13:16:42 +08:00
做应该能做,但感觉不太靠谱。首先至少要有 nginx 反代解决同源问题。其次如果用 iframe 来嵌入的话,内外部状态同步就比较麻烦,比如里网页有模态框时,背景无法延伸到外部。而且感觉 docker 对这个东西真的是大财小用了。

要真要做的话,感觉像楼上说的那样,一个可动态控制的菜单栏就好。把路由信息存数据库里,访问主页面的时候遍历一下生成菜单栏,然后根据链接和静态文件位置直接发给浏览器就好了吧。
janxin
2022-04-12 13:32:27 +08:00
请问你要找到的是 https://remix.run/ 吗?
binux
2022-04-12 13:44:52 +08:00
刚想回复说 LZ 连概念都没有搞清楚。然后想了想确实有 k8s docker link 自动配置的 Nginx 配置的,也不是不行吧。
lazyyz
2022-04-12 13:53:59 +08:00
wordpress + 主题不行么?为什么要用 docker 来干这个?
Blacate
2022-04-12 13:55:54 +08:00
你是在说微前端吗 可以看看 qiankun 或者 garfish
THESDZ
2022-04-12 13:58:38 +08:00
docker+traefik
dabai0806
2022-04-12 14:19:41 +08:00
你这个和 docker 没什么关系
twing37
2022-04-12 14:34:04 +08:00
感觉说成宏(微)服务. 大家更好明白点
yangzzzzzz
2022-04-12 14:45:22 +08:00
走火入魔了?
why1001
2022-04-12 14:45:31 +08:00
我们也想过这个,我们是 SAAS 服务,客户有定制字段的需求,想着给他写一个页面和微型后端,放到 docker 中然后 url 引入进来,蹲一个解决方案。。。
pcbl
2022-04-12 14:46:36 +08:00
这是中了 docker 的毒
lxz6597863
2022-04-12 15:59:22 +08:00
traefik
clf
2022-04-12 16:06:45 +08:00
@why1001 一般用租户 ID 解决,SAAS 还是前后端代码都统一,根据登录的用户角色以及租户 ID ,下发不同的菜单。
kazeni
2022-04-12 16:29:02 +08:00
可以试试用 iframe 嵌套子页面,前后端交互可能需要处理请求 Referer ,还是得看具体场景吧
Terang
2022-04-12 17:45:17 +08:00
听着像是前端微服务化?类似腾讯云 /阿里云这种页面可插拔网站
littlewing
2022-04-12 17:54:18 +08:00
微服务?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/846493

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX