@@ -4,16 +4,19 @@ const renderToStream = async (ctx, config) => {
44 const baseDir = config . baseDir || process . cwd ( )
55 const isLocal = config . env === 'local'
66 const serverJs = config . serverJs
7+ const runtime = config . runtime
78 if ( config . type !== 'ssr' ) {
89 const string = require ( 'yk-cli/bin/renderLayout' )
910 return string
1011 }
11-
12- if ( ! global . renderToNodeStream && config . externals ) {
13- // for this issue https://github.com/ykfe/egg-react-ssr/issues/4
14- global . renderToNodeStream = require ( baseDir + '/node_modules/react-dom/server' ) . renderToNodeStream
15- } else {
16- global . renderToNodeStream = require ( 'react-dom/server' ) . renderToNodeStream
12+ if ( ! global . renderToNodeStream ) {
13+ if ( runtime === 'fc' ) {
14+ // 针对fc runtime 将第三方模块打包进来不需要特殊处理
15+ global . renderToNodeStream = require ( 'react-dom/server' ) . renderToNodeStream
16+ } else {
17+ // for this issue https://github.com/ykfe/egg-react-ssr/issues/4
18+ global . renderToNodeStream = require ( baseDir + '/node_modules/react-dom/server' ) . renderToNodeStream
19+ }
1720 }
1821
1922 if ( isLocal ) {
@@ -22,7 +25,11 @@ const renderToStream = async (ctx, config) => {
2225 }
2326
2427 if ( ! global . serverStream || isLocal ) {
25- global . serverStream = typeof serverJs === 'string' ? require ( serverJs ) . default : serverJs
28+ if ( runtime === 'fc' ) {
29+ global . serverStream = typeof serverJs === 'string' ? require ( '../../../web/' + serverJs ) . default : serverJs
30+ } else {
31+ global . serverStream = typeof serverJs === 'string' ? require ( serverJs ) . default : serverJs
32+ }
2633 }
2734
2835 const serverRes = await global . serverStream ( ctx )
0 commit comments