create-react-app
是一个无需任何配置就能轻松创建react
应用使用的命令行工具,它主要是使用react-scripts
来配置需要的webpack
、babel
等一系列工具。
react-scripts
创建的应用可以满足大部分的需求,但是有时候我们需要修改或者创建自己的配置项。react-scripts
提供了一个命令eject
,使用eject
命令可以将react-scripts
内置的各种配置项暴露出来,这时候我们就可以通过更改配置文件。
eject
可以让你自定义所有配置项。但是如果有很多相似的项目,建议fork一份react-scripts
和其他需要的packges,做一个自己的模板使用。
自定义create-react-app的模板
Fork create-react-app
打开create-react-app,fork出自己的一份create-react-app
建议fork一个稳定的分支,master不是稳定的。
在packages
目录里,有一个目录react-scripts
。react-scripts
这个目录里包含了build
、test
、start
你的react app的脚本。
修改配置
把我们fork好的create-react-app
clone到本地,checkout一个稳定版的tag,打开react-scripts/scripts/init.js
这个文件。
在里面加一行console.log('Hello world.');
把我们自定义的react-scripts
发布到NPM
先把react-scripts
目录下的package.json
文件里的name
等字段的值改成我们自己的。
现在从命令行切换到react-scripts
目录里,使用npm publish
命令行进行发布。如果npm提示你登陆,就登陆上自己的npm账号。
测试我们自己的react-scripts
在命令行中使用我们自己的模板创建一个react-app
create-react-app test-app --scripts-version shengoo-react-scripts
可以看到,我们的增加的那行console.log
生效了。
接下来就可以通过修改react-scripts
增加我们自己需要的功能了。