@@ -28,6 +28,7 @@ import {
2828} from '@modern-js/utils' ;
2929import { cloneDeep } from '@modern-js/utils/lodash' ;
3030import { ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME } from '../../../cli/constants' ;
31+ import { resolveSSRMode } from '../../../cli/ssr/mode' ;
3132import { FILE_SYSTEM_ROUTES_FILE_NAME } from '../constants' ;
3233import { walk } from './nestedRoutes' ;
3334import * as templates from './templates' ;
@@ -165,14 +166,15 @@ export const generateCode = async (
165166 config . server . ssrByEntries ,
166167 packageName ,
167168 ) ;
168- const useSSG = isSSGEntry ( config , entryName , entrypoints ) ;
169169
170- let mode : SSRMode | undefined ;
171- if ( ssr ) {
172- mode = typeof ssr === 'object' ? ssr . mode || 'string' : 'string' ;
173- }
170+ const ssrMode = resolveSSRMode ( {
171+ entry : entrypoint . entryName ,
172+ config,
173+ appDirectory : appContext . appDirectory ,
174+ nestedRoutesEntry : entrypoint . nestedRoutesEntry ,
175+ } ) ;
174176
175- if ( mode === 'stream' ) {
177+ if ( ssrMode === 'stream' ) {
176178 const hasPageRoute = routes . some (
177179 route => 'type' in route && route . type === 'page' ,
178180 ) ;
@@ -189,7 +191,7 @@ export const generateCode = async (
189191 code : await templates . fileSystemRoutes ( {
190192 metaName,
191193 routes : routes ,
192- ssrMode : useSSG ? 'string' : isUseRsc ( config ) ? 'stream' : mode ,
194+ ssrMode : isUseRsc ( config ) ? 'stream' : ssrMode ,
193195 nestedRoutesEntry : entrypoint . nestedRoutesEntry ,
194196 entryName : entrypoint . entryName ,
195197 internalDirectory,
@@ -225,7 +227,7 @@ export const generateCode = async (
225227 const serverRoutesCode = await templates . fileSystemRoutes ( {
226228 metaName,
227229 routes : filtedRoutesForServer ,
228- ssrMode : useSSG ? 'string' : mode ,
230+ ssrMode,
229231 nestedRoutesEntry : entrypoint . nestedRoutesEntry ,
230232 entryName : entrypoint . entryName ,
231233 internalDirectory,
0 commit comments