工作中曾经遇到这样的需求,同一套代码,要在不同端(微信、普通浏览器、第三方app)显示,第三方app需要做定制,样式、布局和功能都和其他端不同,但url是相同的。如果采用vue,可以采用动态组件解决。但react没有这个东西,那么react 如何实现同一url下根据不同端显示不同页面?之前的同事通过复制不同node层入口,启动不同服务器,然后引入不同页面实现。这种做法其实将问题复杂化了。其实有个简单的办法,我们可以通过将url对应的页面作为一个入口页,然后通过判断访问客户端,渲染不用的页面,而此处的“不同页面”,我们将它做成不同组件,如果有这些“不同页面”有复用的地方,可以抽离出公共组件。当然,这种方法适用于只需要少部分页面进行定制的。此种办法也可用于mpvue之类不支持动态组件的框架。
欢迎讨论是否有更好的办法。