diff --git a/.changeset/happy-fans-roll.md b/.changeset/happy-fans-roll.md new file mode 100644 index 000000000000..1002b0abdc3b --- /dev/null +++ b/.changeset/happy-fans-roll.md @@ -0,0 +1,6 @@ +--- +'@modern-js/runtime': patch +--- + +fix: useLoader should run normally in csr when webpack build +fix: useLoader 当使用 webpack 构建是,在 csr 下应该需要正常跑 diff --git a/packages/runtime/plugin-runtime/src/ssr/cli/index.ts b/packages/runtime/plugin-runtime/src/ssr/cli/index.ts index f891f8a7779d..7487e37e4a10 100644 --- a/packages/runtime/plugin-runtime/src/ssr/cli/index.ts +++ b/packages/runtime/plugin-runtime/src/ssr/cli/index.ts @@ -63,7 +63,6 @@ export const ssrPlugin = (): CliPlugin => ({ return { config() { const appContext = api.useAppContext(); - const userConfig = api.useConfigContext(); pluginsExportsUtils = createRuntimeExportsUtils( appContext.internalDirectory, @@ -93,15 +92,11 @@ export const ssrPlugin = (): CliPlugin => ({ // so we only use useLoader in CSR on Rspack build temporarily. return (config: any) => { const userConfig = api.useResolvedConfigContext(); - if (isUseSSRBundle(userConfig)) { + if (isUseSSRBundle(userConfig) && checkUseStringSSR(userConfig)) { config.plugins?.push( path.join(__dirname, './babel-plugin-ssr-loader-id'), ); - if (checkUseStringSSR(userConfig)) { - config.plugins?.push( - require.resolve('@loadable/babel-plugin'), - ); - } + config.plugins?.push(require.resolve('@loadable/babel-plugin')); } }; } @@ -142,10 +137,7 @@ export const ssrPlugin = (): CliPlugin => ({ ]); } }, - babel: - isUseSSRBundle(userConfig) && checkUseStringSSR(userConfig as any) - ? babelHandler - : undefined, + babel: babelHandler, }, }; },