基本规范
目录结构
当我们在使用react和redux时通常会用到组件,而组件又分为容器型组件和展示组件,所以我们在src目录下创建一个components文件夹用来存放展示型组件(全局通用组件,如loading组件、header、footer、alert组件等)
在src目录下创建一个container文件夹用来存放容器型组件
我们在container文件夹下创建组件的时候以组件的名字新建一个文件夹,在组件文件夹下再创建一个index.js的文件,这个文件才是我们的组件代码,添加一层文件夹的好处就是,我们可以在这个容器组件夹下写关于组件的css样式文件,甚至后期方便我们将容器组件拆分成若干个展示型组件,而展示型组件放置在components文件夹下是不合适的,因为其放置的是全局通用组件
我们在组件文件夹下再创建一个conponents文件夹用来存放容器组件所独有的组件 我们在根目录src下创建一个redux目录,使用darks模式,在redux文件夹下创建一个modules文件夹,存放redux的模块,之所以再新建一个modules文件夹是因为我们还可能创建一些中间件,所以另外还需创建一个middleware文件夹 出了redux模块之外,我们还需要创建另外一些我们常用的模块,比如utils,来放置常用的工具类,还有images来存放我们的图片
接下来就是我们对create-react-app默认创建出来的文件做一些整理,打开index.js文件,里面使用到了serviceWorker,用来做离线存储和加载优化的事情,我们暂时用不到,所以可以暂时先删除 我们也不涉及测试的问题,我们可以把App.test.js文件删除 我们将根目录下的App.js文件以及相关文件,放置到container下,并新建App文件夹,并且简化app.js文件,只保留div,重命名为index,然后将入口文件index.js文件关联的app.js文件路径更换
构建体系
我们使用的create-react-app脚手架已经对webpack体系进行了封装,所以我们可以直接使用脚手架暴露出来的几个命令,执行对项目的启动构建等工作,具体命令对应到package.json文件下的script里的几个命令 start是我们启动整个项目的命令,build是我们打包编译项目的命令,test是对整个应用进行测试,eject这个命令我们很少会使用到,是将create-react-app封装的webpack相关配置暴露到项目的根路径下,这样我们就可以在create-react-app提供的webpack配置基础上做一些自定义的修改,但是一般会很少使用,我们一般会主要用到前两个命令start和build
Mock数据
根据create-react-app提供的特性,我们在pubilc文件夹下创建一个mock文件夹,因为public文件夹下的资源是作为静态资源,不会参与到webpack的打包构建当中,所以我们在public文件夹下的文件是可以通过url直接访问的,然后我们再根据不同的mock数据做下区分,新建文件夹,文件夹下存放不同的mock数据类型,比如业务层的产品列表等等