公司的业务是做互联网金融网站的,我们的工作内容则是维护不同商家的网站.
目前公司有 5 个商家,则需要维护 5 套网站,5 个网站的功能,目录结构打包发布都是一毛一样的,网站的后端也是用的同一套代码.
那么问题来了, 现在我们维护 5 套网站,需要 5 个 repo,也就是 5 个文件夹,但内容其实都大同小异,唯一不同的地方就是样式和 html 方面(JS 基本上用的都是一套),这样就会导致维护起来很麻烦,有时候改一个功能,需要把 5 个项目里面的文件都修改一遍 (不敢直接覆盖,虽说功能大同小异,但代码不一定 100%相同).
以上是历史遗留问题
经过一番纠结,决定重构整个项目架构.
重构的需求如下:
1. 不需要维护不同的网站,只需要维护一套 repo,该 repo 下有不同的主题提供给商家选择,让他们自己选择不同页面所需的不同组件 (类似组件化了,但由于要求支持 IE8,所以很多新型的框架无法选择,而且加上 SEO 的原因,这里不能再前端进行渲染)
---- 1.1 组件化的分类类似于把 "header" "footer" "banner" "sider"等等这些地方,预先设计几套不同的样式,最后根据商家的选择,选择该页面 "header"部分的样式.
---- 1.2 每个组件对应一个单独的 css,如果有需求,还需要对应单独的 js 文件.
---- 1.3 商家选择完主题后,合并 css,js,并生成静态文件.