Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

可以详细描述下项目方案吗 #44

Open
AimLuo opened this issue Nov 1, 2019 · 2 comments
Open

可以详细描述下项目方案吗 #44

AimLuo opened this issue Nov 1, 2019 · 2 comments

Comments

@AimLuo
Copy link

AimLuo commented Nov 1, 2019

我这边公共组件(额外仓库)使用lerna结合rollup打包,使用git subtree添加到具体项目中,通过workspace关联到依赖。模板通过umi block管理。

@xiaosongxiaosong
Copy link
Collaborator

前段时间在把公司项目从 mediaelement 切换到 reactjs-player 比较忙,没来得及答复

这个项目主要是公司项目的一些配置整理出来,文档补充有点慢,大致给你介绍下,接下来一段时间抽时间升级以下然后把文档补充以下。

使用 create-react-app 原因

最开始学习 react 的时候使用的 roadhog 0.5,过了半年 roadhog 升级到了 1.x,由于我的项目需要支持多页应用, 需要修改 roadhog 的默认配置,roadhog 0.x 版本的自定义方式和 1.x 版本截然不同,自定义配置的文档偏少,学习起来有点麻烦。在我准备升级 roadhog 1.x 的时候 umi 又出来,稍微瞄了下文档,感觉 umi 太重了,所有开始考虑其他方案。

选择 create-react-app 的原因有以下几点:

  • 轻量级脚手架
  • react 官方出品
  • 文档比较齐全
  • 使用的人较多,有问题 google 下基本都能找到解决方法
  • 配合 customize-cra 可以很方便的自定义配置
  • 扩展时可以直接使用 webpack 的插件或 loader

使用 lerna 的原因

我的项目中有多个角色,每个角色负责的事情不一样,最开始使用多页应用的方式实现,在支持 PWA 开启 service worker 之后有个问题,service worker 会把所有的代码都下载下来,对于一般用户,可能有 60% 以上的代码时不会使用。

使用 lerna 代替多页应用带来的好处:

  • 每个端独立,不用下载其余端的代码,节约服务器流量
  • service worker 单独控制,不是所有的端都适合开启 PWA
  • 支持单独上线,使用多页应用时任意一个端的修改都要更新所有端才行
  • 单独 build,多页应用一起编译时间消耗太大,独立后研发体验好很多

不分开仓库的原因

  • 团队小(1人)
  • 代码相关度很高,都是业务相关的代码

@AimLuo
Copy link
Author

AimLuo commented Dec 23, 2019

谢谢,我已经知道你的意思了。
我现在使用的umi的方案:
业务代码使用antd-pro。公用模块基于umi-father来开发
以前的项目都是自己的一套框架,个人精力有限导致很多地方没优化,性能超级差。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants