维护是一个脚手架的生命线
相信很多人都有能力写现在最好用的脚手架, 但扪心自问当一年后 webpack 升了 5,typescript 升了 4,babel 升了 8,eslint 升了 6, 有这个心力去更新维护兼容吗? 事实上无数脚手架都死在时光里 (开源的), 或者继续苟且着 (内部使用的).
所以当看到 "扔掉 Create React App, 打造你自己的 React 生成工具!" 云云的标题时, 点个赞的同时, 也希望打算自己造轮子的读者能慎重考虑, 并且, 想科普一下最近才学到的一个事儿, 就是: 你可以不丢弃 CRA, 写一套自己的脚手架.
How?
详细可以参见 这个 issue, 和 这篇教程. 简单的说, 就是
fork 一份 https://github.com/facebook/create-react-app 库
进入
package/react-scripts
修改成自己定制的模板和设置:
config/webpack.config.JS
修改 webpack 配置
scripts/init.JS 修改命令行
template 修改模板
package.JSON 更改模板名称, 版本号等
NPM publish 发布修改后的 react-scripts
跑这个命令:
create-react-App my-App --scripts-version my-react-scripts-fork
其中 my-react-scripts-fork 是你发布的 NPM 包名. 即可生成定制版的 starter kit.
好处呢?
时不时地去拉一下 create-react-App 官方 master 分支, 让 Facebook 帮你维护脚手架. 自己只需要维护模板和定制配置部分.
来源: https://juejin.im/post/5c6787906fb9a049c64460aa