关于前端CLI工具对于Angular,有官方的AngularCLI。对于Vue,有官方的VueCLI。对于React,有官方的CreateReactApp。AngularCLI和VueCLI是官方推荐的CLI工具,可以直接用于生产环境,但是CreateReactApp的定位有点不同。它的目标是让您快速设置React应用程序。如果你想在生产环境中使用,因为它不是很可定制,你可能要弹出,然后手动维护webpack配置。我们团队的历史始于背景。在过去的几年里,我的团队一直在使用React技术栈。我们的业务属性需要经常创建新的项目,但是业务的生命周期不一定短,有可能是长期的。一开始,应该是三四年前吧。当时的解决方案比较原始。每个人维护自己的webpack配置,如果有新的项目,就复制粘贴。这样做的好处是灵活,我可以控制自己项目的配置。缺点是配置升级维护不易,项目移交后问题较多。后来,我们使用了项目样板的方法。团队维护一个样板,所有新项目都使用这个样板初始化。这样做的好处是webpack配置统一,便于多人协作。缺点是配置升级不方便,因为项目中暴露了webpack配置,配置会被别人修改,容易弄脏。后来正式发布了CreateReactApp。原来webpack的配置可以隐藏在node_modules中,而不是暴露在项目中,这是一个非常优雅的方案。所以我们使用了类似于CreateReactApp的方案来创建我们自己的team-specific前端CLI工具,这也是我们目前的方案。这样做的好处是webpack配置隐藏,项目目录比较干净,webpack配置升级方便。您只需要升级CLI。缺点是维护CLI是一个大工程,需要更多的人力,坑也多。我推荐的解决方案回到文章的标题:为前端团队构建一个ReactCLI工具。我觉得每个前端团队都应该有自己的CLI工具,这是团队技术和经验积累的重要基地。CLI工具可以承担项目初始化、开发、测试、打包、部署、组件开发等很多工作。换句话说,CLI工具可以参与研发的整个生命周期,所以是团队的积累技术和经验的重要基地。这里的重点是CLI承担的脚手架功能。CreateReactApp很优秀,但是我不推荐直接作为团队工具使用,也不推荐自己从头实现一个CreateReactApp(尤其是中小前端团队),我的建议是基于CreateReactApp来创建,为什么?因为CreateReactApp足够稳定,出现问题的概率很小。站在巨人的肩膀上,可以节省很多精力,把更多的精力投入到业务问题上。基于CreateReactApp创建CLI以下是我基于CreateReactApp创建的CLI:安装:npmi-gpea-cli初始化项目:peacreatemyapp项目目录:.├──README.md├──package.json├──pages│└──index.tsx└──tsconfig.json启动开发服务器:cdmyappnpmrunstart原理很简单,其实就是自定义CreateReactApp,让它成为一个合适的工具对于你的团队,但是你的工具它紧跟React社区,稳定性好。有兴趣了解详情的可以看https://github.com/pea-team/pea-cli
