Skip to content

Commit 8774b7e

Browse files
committed
chore: 通过query可以迅速切换渲染模式
1 parent 758e9d6 commit 8774b7e

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

README.md

+8-2
Original file line numberDiff line numberDiff line change
@@ -124,9 +124,15 @@ const Layout = (props) => {
124124
}
125125
```
126126

127-
### 渲染模式无缝切换
127+
### 如何切换渲染模式
128128

129-
在本地开发时,你可以同时启动ssr/csr两种渲染模式查看区别,在生产环境时,你可以通过设置config中的type属性来切换不同的渲染模式,在流量较大时可以降级为csr应用
129+
在本地开发时,你可以同时启动ssr/csr两种渲染模式查看区别,在生产环境时,你可以通过设置config中的type属性来切换不同的渲染模式或者通过query来切换,在流量较大时可以降级为csr渲染模式
130+
131+
```
132+
$ open http://localhost:7001/ 以SSR模式渲染应用
133+
$ open http://localhost:8000/ 本地开发环境以CSR模式渲染应用
134+
$ open http://localhost:7001/?csr=true 生产环境迅速切换为CSR模式渲染或者通过config.type来设置渲染模式
135+
```
130136

131137
### 特性
132138

packages/ykfe-utils/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ykfe-utils",
3-
"version": "2.4.2",
3+
"version": "2.5.0",
44
"description": "",
55
"main": "lib/index.js",
66
"module": "es/index.js",

packages/ykfe-utils/src/renderToStream.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@ const renderToStream = async (ctx, config) => {
22
const baseDir = config.baseDir || process.cwd()
33
const isLocal = process.env.NODE_ENV === 'development'
44
const serverJs = config.serverJs
5-
6-
if (config.type !== 'ssr') {
5+
let csr
6+
if (ctx.request && ctx.request.query) {
7+
// 兼容express和koa的query获取
8+
csr = ctx.request.query.csr
9+
}
10+
if (config.type !== 'ssr' || csr) {
711
const renderLayout = require('yk-cli/lib/renderLayout').default
812
const str = await renderLayout(ctx)
913
return str

0 commit comments

Comments
 (0)