v4.0 主要引入了三个特性:
1:默认将js改成了ts。
2:使用create umi 来构建工程。
3:使用block来适应大团队分工开发页面。
问题:是否兼顾一下大部分项目的开发效率
1:引入ts无可厚非,未来的趋势,但是一下载代码,满idea都红的报错,看起来很别扭,这个是小问题,估计过一个多月就能解决了,不是啥技术难题。
2:使用create umi 直接将与主干的git给清空。 如果v4.0官方升级了,想从主干上merge代码就麻烦了。 现在v4.0刚发布,不停的更新,等4个月后稳定了,还是用2.0,2.0说的无缝升级到v4.0,估计不是那么简单的。
3:block看起来很美,把所有的模块给拆散了,当然官方文档说的是可重用的页面模块才用,但是demo把所有的页面全部做成了block。
3.1: 实际开发中,大部分都是中型的项目,不超过50个页面,这样拆也要兼顾效率。
3.2:block如何开发,文档也不全。
3.3:下载把service,model和公用的组件放到页面下,而这些模块本来是多个页面公用的,现在每个都复制一份到各个block,是不是丧失了代码重用的特性。
实际开发中,大部分都是中型的项目,不超过50个页面,这样拆也要兼顾效率。
block 是为了我们能给大家提供一个精简的脚手架设计的,解决之间巨量的关于 pro 过于臃肿的反馈。对于大多数使用者,完全没必要自行开发 block 引入,和原来的 v2 一样使用就行了(优势是现在不需要手动删除页面了,出来的就已经是极简的界面了)。
现在通过create umi下载代码,主要的目的是,删除了docker与一些没有用的依赖和read me文件。 同时也删除了git目录。
这样,当master有更新了,就要手工merge,很麻烦。没有v2.0 clone时候方便。
为啥不上传到master前,将docker与一些没有用的依赖给删除呢? 这些都要删除的,还上传到master有啥用呢?
另外,如果有的使用者要得到js代码,就下载后在本地执行相关的ts转js脚本就行。 既然主推ts格式的代码,就不用太兼顾Js,不然给框架带来很大的包袱。
将docker与一些没有用的依赖给删除呢
这些是有用的,开发和维护 pro 本身事用的到。
同时也删除了git目录。
这个我们是可以加回来的。 @chenshuai2144 我们可以 create-umi 的时候保留原仓库的 git 信息,然后运行相关删除脚本后提交一个 commit,这样用户后续还可以通过 pull 进行同步。
另外,如果有的使用者要得到js代码,就下载后在本地执行相关的ts转js脚本就行。
现在基本上就是这么做的。
加上git 就很方便了,这样能很容易的得到主干上更新的内容了。
还有ts与js的选择。既然主推ts,为啥不逐步放弃js, 如果各个方面都要照顾到,反而让框架多做一些功能,这样今后维护起来也很麻烦。
不放弃 js 是因为我们自己还有很多 js 的业务线,社区也需要 js,ts 目前客观上还不具备 100% 覆盖所有场景和人群的能力。
目前转 js 的成本不高,基本上只需要维护好 ts 的版本即可。
加上git 就很方便了,这样能很容易的得到主干上更新的内容了。
欢迎参与贡献,一起来做更满足你自己需求和更好用的 create-umi 和 pro。
v2版本不再维护了吗?
一些升级包还会更新吗?
貌似转js出来的eslint目前还是挺多红的。
求问使用官方提供命令创建项目 在vscode打开文件 很多红色是什么原因
估计过一段时间就好了
为什么要转ts啊
希望pro更新速度能想antDesign一样.感觉这个版本.......

Most helpful comment
这些是有用的,开发和维护 pro 本身事用的到。
这个我们是可以加回来的。 @chenshuai2144 我们可以 create-umi 的时候保留原仓库的 git 信息,然后运行相关删除脚本后提交一个 commit,这样用户后续还可以通过 pull 进行同步。