Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

线上环境报错[qiankun]: You need to export lifecycle functions in /xxx entry,但是本地开发则是能正常的访问 #2833

Closed
ToruKiyono opened this issue Dec 4, 2023 · 9 comments

Comments

@ToruKiyono
Copy link

What happens?

本地开发的时候,通过webpack 5配置的proxy直接访问环境是能进入到该微服务的,但是出包部署后访问该微服务就会提示错误[qiankun]: You need to export lifecycle functions in /signature entry

同时,在环境上发现,所有页面资源均已请求并返回成功。

Mini Showcase Repository(REQUIRED)

webpack output配置:
path: path.resolve(__dirname, './build'),
filename: '[name].[fullhash].js',
publicPath: '/public/dist/xxx/website/',
clean: true,
library: ${packageName},
libraryTarget: 'umd',
uniqueName: webpackJsonp_${packageName}

index入口文件:
bootstrap、unmount、mount钩子函数都已配置并export

Copy link

github-actions bot commented Dec 4, 2023

由于缺乏足够的信息(github、stackblitz、codesandbox等可复现仓库),我们暂时关闭了该 Issue。请修改(不要回复) Issue 提供最小重现以重新开启。谢谢。如果只是单独的技术咨询,可移步 https://qiankun.umijs.org/#-community 交流~

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Dec 4, 2023
@ToruKiyono
Copy link
Author

ToruKiyono commented Dec 20, 2023

lodash V4和V5对于async function的判断结果不同导致的,本地子应用是没有配置lodash的,但是其他依赖使用了lodash V5,故而本地是正常的;但是环境上底座配置了lodash V4的映射,所以环境上访问的是lodash V4.

归因:
isFunction(bootstrap) && isFunction(mount) && isFunction(unmount);
这里的isFunction判断结果异常导致无法获取到子应用的hook。

@zhihaooba
Copy link

你好,我也遇到了这个问题 能帮我指一下代码中的错误吗

@ToruKiyono
Copy link
Author

你好,我也遇到了这个问题 能帮我指一下代码中的错误吗

可以看一下你碰到的现象,我们来讨论分析下。

@zhihaooba
Copy link

微信图片_20240402172002
主子应用在本地运行时都没什么问题,但是部署到线上就报了这几个错,子应用已经调通了,但是一直卡在加载页面。
子应用用的是vue3+vite

@ToruKiyono
Copy link
Author

微信图片_20240402172002 主子应用在本地运行时都没什么问题,但是部署到线上就报了这几个错,子应用已经调通了,但是一直卡在加载页面。 子应用用的是vue3+vite

看一下import-html-entry的报错,可能是这里的错误导致的。

@zhihaooba
Copy link

微信图片_20240402172002 主子应用在本地运行时都没什么问题,但是部署到线上就报了这几个错,子应用已经调通了,但是一直卡在加载页面。 子应用用的是vue3+vite

看一下import-html-entry的报错,可能是这里的错误导致的。

是的,我在网上搜 都说是当前域名下的/_app.config.js?v=2.3.1-1712041050014文件时出错 但是不知道具体出什么错,不知道是没找到这个js文件还是找到了这个文件但是运行的过程中出的错,你有遇到过类似的问题吗

@ToruKiyono
Copy link
Author

微信图片_20240402172002 主子应用在本地运行时都没什么问题,但是部署到线上就报了这几个错,子应用已经调通了,但是一直卡在加载页面。 子应用用的是vue3+vite

看一下import-html-entry的报错,可能是这里的错误导致的。

是的,我在网上搜 都说是当前域名下的/_app.config.js?v=2.3.1-1712041050014文件时出错 但是不知道具体出什么错,不知道是没找到这个js文件还是找到了这个文件但是运行的过程中出的错,你有遇到过类似的问题吗

我在其它地方看到过类似的问题,有这些可能:
1、VITE_GLOB_APP_TITLE没有挂载到正确的位置,例如:开启了proxy沙箱,正常此时应该挂载到window.proxy上的,但是可能挂载到了window上,所以找不到;
2、可能是你这个子应用的懒加载模式的挂载,此时因为子应用资源没有下载,故DOM没有挂载上,所以对应的子应用就会异常。

具体原因建议排查下变量VITE_GLOB_APP_TITLE和entry的配置。

@ToruKiyono
Copy link
Author

同时建议看一下single-spa的报错,没准里边会提供一些思路的。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants