背景: 在使用react来开发SSR服务端渲染项目,有些不适应,若是能像vue-cli同样的简单上手脚手架工具,egg企业级架构及代码规范;对于新手来讲,体验效果会更好。最终决定使用Next.js做为React的SSR渲染,Koa做为后端渲染,达到同构渲染,同构开发。css
分析: Next.js项目的目的只专心作SSR渲染一层。若是要进行开发,还不行。缺乏单元测试、覆盖率测试、代码esLint检测、prettier代码风格自动格式化、打包分析等,最重要的是简单易上手。vue
肯定了大体的方案,就开始立马开始实践,踩了不少坑,实行了下面的方案:java
为何我会在目录结构上追求完美呢?其实在作这套方案的时候,一直在思考三个问题,react
参考了vue-cli、React的不少项目,还有些比较臃肿的项目,进行了反复的优化。git
#文件目录
ReactSSR
├─build/
├─config/
├─server/
│ ├─controllers/
│ ├─helpers/
│ ├─middleware/
│ └─test/
│ └─index.ts
│ └─routes.ts
├─src
│ ├─components/
│ ├─constants/
│ ├─pages/
│ ├─redux/
│ ├─static/
│ └─utils/
│ └─index.tsx
└─test/
└─.babelrc
└─...
复制代码
整个框架搭下来,让本身受益不浅,可是依然不完美。心底依然冒出了不少个问题,须要去解决:github
Next.js+Koa的React SSR企业级方案实践 ReactSSRvue-cli