vite-plugin-qiankun icon indicating copy to clipboard operation
vite-plugin-qiankun copied to clipboard

主应用无法加载子应用的图片

Open Come2BtheOne opened this issue 3 years ago • 16 comments

主应用 http://localhost:9001 vue3子应用(vite) http://localhost:9300 复现仓库 https://github.com/Come2BtheOne/qiankunDemo.git

Come2BtheOne avatar Sep 16 '21 07:09 Come2BtheOne

是哪一张图片加载不了呢

1、如果你是通过

<img src="/xxx.jpg">

这种是不行的,乾坤本身也还没支持到这个地步。

2、如果你是

import img from './x.jpg';
<img :src="img">

需要注意 vite.config.ts 写完整的base

tengmaoqing avatar Sep 23 '21 15:09 tengmaoqing

是哪一张图片加载不了呢

1、如果你是通过

<img src="/xxx.jpg">

这种是不行的,乾坤本身也还没支持到这个地步。

2、如果你是

import img from './x.jpg';
<img :src="img">

需要注意 vite.config.ts 写完整的base

图片用的是第二种引入方式。 配置了完整的base。但还是请求主应用的资源 微信截图_20210924095346

Come2BtheOne avatar Sep 24 '21 01:09 Come2BtheOne

是哪一张图片加载不了呢 1、如果你是通过

<img src="/xxx.jpg">

这种是不行的,乾坤本身也还没支持到这个地步。 2、如果你是

import img from './x.jpg';
<img :src="img">

需要注意 vite.config.ts 写完整的base

图片用的是第二种引入方式。 配置了完整的base。但还是请求主应用的资源 微信截图_20210924095346

vite 目前在development模式的时候,base设置了之后是不生效的。你可以关注vite 后续是否会支持,在vite issue里看到有人提了这个问题了。

fonglezen avatar Sep 27 '21 09:09 fonglezen

vite 目前在development模式的时候,base设置了之后是不生效的。你可以关注vite 后续是否会支持,在vite issue里看到有人提了这个问题了。

好的。感谢回答!

Come2BtheOne avatar Oct 09 '21 03:10 Come2BtheOne

可添加以下下配置解决

  server: {
    origin:"子应用地址",
  }

Soya-xy avatar Nov 02 '21 10:11 Soya-xy

server: { origin:"子应用地址", }

这个好像不起作用

wishong avatar Dec 11 '21 10:12 wishong

我试了有效。你是怎么写的?

Come2BtheOne avatar Dec 13 '21 02:12 Come2BtheOne

我试了有效。你是怎么写的?

子应用的vite.config server: { origin:"http://localhost:4000", }

wishong avatar Dec 13 '21 02:12 wishong

我试了有效。你是怎么写的?

serve.origin是有效的,楼主你只需要改下你资源的引用方式就好了,图片相对路径改成@/asserts/logo.png就正常了

binyellow avatar Dec 31 '21 14:12 binyellow

所以子应用css的图片就没救了么

xianmxcv avatar Mar 10 '22 01:03 xianmxcv

所以子应用css的图片就没救了么

有用的,路径要拼写完全,最后多加一个 / 就行 server: { origin:"http://localhost:4000/", }

wishong avatar Mar 10 '22 01:03 wishong

所以子应用css的图片就没救了么

有用的,路径要拼写完全,最后多加一个 / 就行 server: { origin:"http://localhost:4000/", }

嗯嗯,这样子在开发环境能行。生产环境呢,将图片打包到主应用里或者全转为base64吗

xianmxcv avatar Mar 14 '22 09:03 xianmxcv

"http://

加/ vite 会报提示啊,server.origin should not end with "/". Using "http://localhost:7105" instead.

qw789 avatar May 27 '22 10:05 qw789

我试了有效。你是怎么写的?

serve.origin是有效的,楼主你只需要改下你资源的引用方式就好了,图片相对路径改成@/asserts/logo.png就正常了

貌似不适用于用:src动态赋值图片

summerbiu avatar Jun 22 '22 08:06 summerbiu

所以子应用css的图片就没救了么

有用的,路径要拼写完全,最后多加一个 / 就行 server: { origin:"http://localhost:4000/", }

嗯嗯,这样子在开发环境能行。生产环境呢,将图片打包到主应用里或者全转为base64

所以生产环境打包可以支持吗?

rookiePrgrmer avatar Jun 28 '22 10:06 rookiePrgrmer

所以子应用css的图片就没救了么

有用的,路径要拼写完全,最后多加一个 / 就行 server: { origin:"http://localhost:4000/", }

嗯嗯,这样子在开发环境能行。生产环境呢,将图片打包到主应用里或者全转为base64

所以生产环境打包可以支持吗?

YES

wyodyia avatar Dec 07 '23 02:12 wyodyia