pages
views/pages下的页面page组件是koa-cola路由router配置服务器端html输入模板,浏览器端的react component输入对象。
在controller配置路由的时候配置了view装饰器:
1 | @Get('/some_page') |
当浏览器访问/some_page时,服务器端koa-cola会选择views/pages/some_page.tsx作为渲染的模板,浏览器端,webpack会把
views/pages下如果配置了404.tsx或者500.tsx时,如果koa进入对应的异常,则会使用对应的组件进行渲染。
views/pages/layout.ts是page最终在服务器端渲染的时候生成的html输入模板,如果没有此文件,则直接输入页面组件的html。
1 | export default function(html){ |
服务器端koa-cola在输出html之前会加上store初始化状态在script里面,所以bundle引用需要放在__data之后:
1 |
|
react page组件也支持不使用layout的方式选渲染。
1 | const {doNotUseLayout} = require('koa-cola/client'); |
这种情况,你可以使用自定义header和bundle的装饰器:
1 | const {header, bundle, doNotUseLayout} = require('koa-cola/client'); |