From e8ca0d1f7a7564de50ab043d3a01f0184038edd2 Mon Sep 17 00:00:00 2001 From: xuegan Date: Thu, 21 May 2026 14:06:43 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3RN=E4=B8=8B?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E7=BB=84=E4=BB=B6displayname?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/webpack-plugin/lib/runtime/optionProcessorReact.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/webpack-plugin/lib/runtime/optionProcessorReact.js b/packages/webpack-plugin/lib/runtime/optionProcessorReact.js index 51e4afe5f7..53f879e2a5 100644 --- a/packages/webpack-plugin/lib/runtime/optionProcessorReact.js +++ b/packages/webpack-plugin/lib/runtime/optionProcessorReact.js @@ -14,6 +14,9 @@ export function getComponent (component, extendOptions) { // eslint-disable-next-line if (extendOptions && !component.__mpxExtended) { extend(component, extendOptions, { __mpxExtended: true }) + if (extendOptions.displayName && component.type && component.type.render) { + component.type.render.displayName = extendOptions.displayName + } } return component } From 069c6ec877758e5efd684d835a63679736421560 Mon Sep 17 00:00:00 2001 From: wangcuijuan Date: Thu, 21 May 2026 19:37:18 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20=E8=A1=A5=E5=85=85built-in=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E7=9A=84displayName?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/webpack-plugin/lib/react/script-helper.js | 6 +++--- .../webpack-plugin/lib/runtime/optionProcessorReact.js | 8 ++++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/webpack-plugin/lib/react/script-helper.js b/packages/webpack-plugin/lib/react/script-helper.js index a86e3ad72d..5da66e02c8 100644 --- a/packages/webpack-plugin/lib/react/script-helper.js +++ b/packages/webpack-plugin/lib/react/script-helper.js @@ -35,8 +35,8 @@ function getComponent (componentRequest, componentName) { return `getComponent(require(${componentRequest}), {displayName: ${JSON.stringify(componentName)}})` } -function getBuiltInComponent (componentRequest) { - return `getComponent(require(${componentRequest}), {__mpxBuiltIn: true})` +function getBuiltInComponent (componentRequest, componentName) { + return `getComponent(require(${componentRequest}), {__mpxBuiltIn: true, displayName: ${JSON.stringify(componentName)}})` } // function getLazyPage (componentRequest) { @@ -117,7 +117,7 @@ function buildComponentsMap ({ localComponentsMap, builtInComponentsMap, loaderC Object.keys(builtInComponentsMap).forEach((componentName) => { const componentCfg = builtInComponentsMap[componentName] const componentRequest = stringifyRequest(loaderContext, componentCfg.resource) - componentsMap[componentName] = getComponentGetter(getBuiltInComponent(componentRequest)) + componentsMap[componentName] = getComponentGetter(getBuiltInComponent(componentRequest, componentName)) }) } return componentsMap diff --git a/packages/webpack-plugin/lib/runtime/optionProcessorReact.js b/packages/webpack-plugin/lib/runtime/optionProcessorReact.js index 53f879e2a5..205e356b3e 100644 --- a/packages/webpack-plugin/lib/runtime/optionProcessorReact.js +++ b/packages/webpack-plugin/lib/runtime/optionProcessorReact.js @@ -14,8 +14,12 @@ export function getComponent (component, extendOptions) { // eslint-disable-next-line if (extendOptions && !component.__mpxExtended) { extend(component, extendOptions, { __mpxExtended: true }) - if (extendOptions.displayName && component.type && component.type.render) { - component.type.render.displayName = extendOptions.displayName + if (extendOptions.displayName) { + if (component.type && component.type.render) { + component.type.render.displayName = extendOptions.displayName + } else if (component.render) { + component.render.displayName = extendOptions.displayName + } } } return component From b45038a854928e17031f4c32fcbe4e1ca3c2d5e2 Mon Sep 17 00:00:00 2001 From: xuegan Date: Thu, 21 May 2026 21:34:04 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat:=20=E8=B0=83=E6=95=B4displayName?= =?UTF-8?q?=E4=BC=A0=E9=80=92=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/webpack-plugin/lib/react/script-helper.js | 6 +++--- .../webpack-plugin/lib/runtime/optionProcessorReact.js | 10 ++++------ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/packages/webpack-plugin/lib/react/script-helper.js b/packages/webpack-plugin/lib/react/script-helper.js index 5da66e02c8..a86e3ad72d 100644 --- a/packages/webpack-plugin/lib/react/script-helper.js +++ b/packages/webpack-plugin/lib/react/script-helper.js @@ -35,8 +35,8 @@ function getComponent (componentRequest, componentName) { return `getComponent(require(${componentRequest}), {displayName: ${JSON.stringify(componentName)}})` } -function getBuiltInComponent (componentRequest, componentName) { - return `getComponent(require(${componentRequest}), {__mpxBuiltIn: true, displayName: ${JSON.stringify(componentName)}})` +function getBuiltInComponent (componentRequest) { + return `getComponent(require(${componentRequest}), {__mpxBuiltIn: true})` } // function getLazyPage (componentRequest) { @@ -117,7 +117,7 @@ function buildComponentsMap ({ localComponentsMap, builtInComponentsMap, loaderC Object.keys(builtInComponentsMap).forEach((componentName) => { const componentCfg = builtInComponentsMap[componentName] const componentRequest = stringifyRequest(loaderContext, componentCfg.resource) - componentsMap[componentName] = getComponentGetter(getBuiltInComponent(componentRequest, componentName)) + componentsMap[componentName] = getComponentGetter(getBuiltInComponent(componentRequest)) }) } return componentsMap diff --git a/packages/webpack-plugin/lib/runtime/optionProcessorReact.js b/packages/webpack-plugin/lib/runtime/optionProcessorReact.js index 205e356b3e..2527eeeaca 100644 --- a/packages/webpack-plugin/lib/runtime/optionProcessorReact.js +++ b/packages/webpack-plugin/lib/runtime/optionProcessorReact.js @@ -14,12 +14,10 @@ export function getComponent (component, extendOptions) { // eslint-disable-next-line if (extendOptions && !component.__mpxExtended) { extend(component, extendOptions, { __mpxExtended: true }) - if (extendOptions.displayName) { - if (component.type && component.type.render) { - component.type.render.displayName = extendOptions.displayName - } else if (component.render) { - component.render.displayName = extendOptions.displayName - } + const render = component.type && component.type.render || component.render + const displayName = extendOptions.displayName || component.displayName + if (render && displayName && !render.displayName) { + render.displayName = displayName } } return component From 8defc3f7cdfd3930c3c2da34dbd52186544973bd Mon Sep 17 00:00:00 2001 From: xuegan Date: Fri, 22 May 2026 19:10:49 +0800 Subject: [PATCH 4/4] fix: eslint error --- packages/webpack-plugin/lib/runtime/optionProcessorReact.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/webpack-plugin/lib/runtime/optionProcessorReact.js b/packages/webpack-plugin/lib/runtime/optionProcessorReact.js index 2527eeeaca..d440518bde 100644 --- a/packages/webpack-plugin/lib/runtime/optionProcessorReact.js +++ b/packages/webpack-plugin/lib/runtime/optionProcessorReact.js @@ -14,7 +14,7 @@ export function getComponent (component, extendOptions) { // eslint-disable-next-line if (extendOptions && !component.__mpxExtended) { extend(component, extendOptions, { __mpxExtended: true }) - const render = component.type && component.type.render || component.render + const render = (component.type && component.type.render) || component.render const displayName = extendOptions.displayName || component.displayName if (render && displayName && !render.displayName) { render.displayName = displayName