qiankun
qiankun copied to clipboard
当子应用的cdn中有相对地址,主应用加载的时候会出现404
乾坤是不支持子应用有cdn资源吗?比如用script标签引入的外部库,当这些库内部有相对路径时,资源加载都拼上主应用链接了,全部404
遇到同样的问题了。主要是在mount中使用了import('./bootstrap'),然后创建的script的scr全是主应用的域名
我也遇到这个问题,我的应用打包后,静态资源都发布在cdn上,但是主应用访问子应用时,cdn的地址都被篡改了,请问有没有办法解决这个问题?
可以试试 ${window.__INJECTED_PUBLIC_PATH_BY_QIANKUN__}<your-path>/bootstrap
遇到同样的问题了。主要是在mount中使用了import('./bootstrap'),然后创建的script的scr全是主应用的域名
可以试试
${window.__INJECTED_PUBLIC_PATH_BY_QIANKUN__}<your-path>/bootstrap
遇到同样的问题了。主要是在mount中使用了import('./bootstrap'),然后创建的script的scr全是主应用的域名
我是在webpack打包的时候把publicPath设置为cdn地址,主包没有问题,是走cdn请求的,但是所有懒加载的文件都被劫持到子应用入口的域名了
我也遇到这个问题,并且解决了,方案是在bootstrap函数中处理一下cdn的逻辑
export async function bootstrap() { return new Promise((resolve, reject) => { const script = document.createElement('script'); script.src = 'https://cdn.jsdelivr.net/npm/[email protected]/dist/echarts.min.js'; script.onload = resolve; script.onerror = reject; document.head.appendChild(script); }); }
我也遇到这个问题,我的应用打包后,静态资源都发布在cdn上,但是主应用访问子应用时,cdn的地址都被篡改了,请问有没有办法解决这个问题?
qiankun: { slave: { shouldNotModifyRuntimePublicPath: true, }, }, runtimePublicPath: {}, headScripts: ['window.publicPath = "http://xxx.cdn.com/"'],
https://github.com/umijs/umi/blob/2c43662d7580ccab2da14ac90838e979c8d9485f/packages/plugins/src/qiankun/slave.ts#L177