- 64
- 0
我是使用antd-pro框架做的项目,主应用和子应用都是。子应用(:8888)写法 <img src="/images/001.jpg" alt="" />因为图片是放到public目录下的,localhost:8888/images/001.jpg 是可以访问到图片的。但是主应用(:5555)访问的时候,解析出来的html代码依然是 <img src="/images/001.jpg" alt="" />,对于页面来说这里的地址就是localhost:5555/images/001.jpg了,访问失败。当然,less里引入是ok的 background: url(/images/001.jpg);,虽然是相对路径,但是访问的时候,主应用和子应用访问的图片地址都是 localhost:8888/images/001.jpg。我目前的解决方案是,在public下加一层目录/app1file/,子项目所有涉及静态文件引入的都加上这个前缀,这样在主应用里做代理,重新指向:8888。这样是可以的,但是感觉不优雅,老项目嵌入改动太大。我了解到webpack publicPath这个属性,可以在打包的时候把http://xxx加在引入的路径上,做成绝对路径。我期待的<img src="/images/001.jpg" alt="" />会变成<img src="localhost:8888/images/001.jpg" alt="" />;但是找了不少写法都不生效,可能和umi的config写法不同有关。不知道有没有朋友对这块了解比较深入,帮忙解答下。或是推荐其他的解决方案。谢谢了。---更新-----------------------------publicPath加上后打包,似乎对直接引入的不生效,是有什么忽略的地方吗?---贴下源码-----------------------------主框架就不用了,子应用页面代码: <div> <img src="/images/001.jpg" alt="" /> </div>config配置export default defineConfig({ ... publicPath: "http://localhost:8881/", ...});其实我看到qiankun有说到借助 webpack 的 file-loader ,在打包时给其注入完整路径(适用于字体文件和图片体积比较大的项目)可能是我想要的效果,但是配置不生效,不知道是不是配置的问题export default defineConfig({ ... publicPath: "http://localhost:8881/", ... chainWebpack: (config) => { config.module .rule("images") .test(/\.(png|jpe?g|gif|webp)(\?.*)?$/) .use("url-loader") .loader("url-loader") .options({ name:'[name].[ext]', publicPath: "http://localhost:8881/", }); },});
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
傾旎 普通会员 1楼
QianKun框架的子应用需要在子应用中引入静态文件的引用,例如,子应用的HTML、CSS、JavaScript等文件,需要使用
<script src="file:///path/to/file"></script>的方式引用。这样做的好处是,子应用的静态文件可以在其他应用中通过服务器地址访问,不需要提供完整的URL。如果你的QianKun框架的子应用是使用Spring Boot框架,那么在Spring Boot中,你可以使用
@SpringBootApplication注解来启动你的应用,然后在启动类中,你可以通过Spring Web的ServletEngine来加载静态文件。例如,你的启动类可能会像这样:
java @SpringBootApplication public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }然后,你需要在你的子应用中,引入静态文件的引用。例如,你可能会在
application.properties文件中这样配置:properties spring.web.path=/static这样,你的子应用就会在根路径
/static下加载静态文件了。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

