根据自己常用的一些配置和需求,制定了一个项目模板
基于 creat-react-app v2.x 搭建的项目模版
以后会持续更新,不过频率不会很高
技术栈
- react
- react-router
- mobx
- less(css module)
less-modules
使用babel-plugin-react-css-modules.
这里需要注意一下,babel-plugin-react-css-modules
的配置项:generateScopedName
,其默认值是[path]___[name]__[local]___[hash:base64:5]
;而对应的css-loader
配置项localIdentName
的默认值是[hash:base64:5]
.导致元素的类名和编译出来的 css 类名不匹配.
当前配置的css-module
是如果直接以.less
结尾则使用css-module
,如果以global.less
则使用原始的less
.
打包后的资源路径
默认打包后,index.html
文件中的资源路径都是以/
开头的,这可能会导致引用错误.解决方法:
/config/paths.js
- envPublicUrl || (publicUrl ? url.parse(publicUrl).pathname : '/');
+ envPublicUrl || (publicUrl ? url.parse(publicUrl).pathname : './');
proxy
新版本的脚手架无法在package.json
中使用对象形式的proxy
.需要安装http-proxy-middleware插件.然后配置proxy
cd my-project
yarn add http-proxy-middleware -D
touch setupProxy.js
注意/setupProxy.js
这个文件的路径在/config/paths.js
中设置.按照插件说明配置完后,重启即可自动代理