qiankun vue-cli3子应用打包,element无法显示字体和图标

博主分享了解决Vue子应用通过主应用启动时CSS等静态资源加载问题的方法,关键在于修改主应用的getPublicPath函数以指向子应用部署路径,避免了加载警告和资源加载失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如 主应用部署到www/aa  子应用部署到www/bb ,如果单独启动子应用,对于css等静态资源来说访问的链接直接是 www/bb/静态资源,当如果通过主应用来起子应用,链接就是www/aa/静态资源,首先是要设置子应用中vue.config.js 中publicPath设置为自己的子应用部署站点,如publicPath:www/bb,一般会出现

,如果使用qiankun官方的

 

也还是无法解决,虽然没有报错,但会出现加载警告,图标及文字还是无法显示,一个小白框,困扰两三天终于解决,重点思路不再与更改子应用,而是主应用,因为出现加载不出来的原因主要是应该通过主应用去启动子应用无法正确的获取到子应用静态资源地址。qiankun官方有一个函数

  • getPublicPath - (entry: Entry) => string - 可选,参数是微应用的 entry 值。

 

需要在主应用载入是进行配置,如 

getPublicPath(entry)

{

        return 'www/bb'; //此处改为对应的子应用部署路径

}

我的问题就是这样解决的,在网上搜,居多的答案都是不行,这个博主亲测有效。 

可以试一下 

<think>好的,用户想了解如何使用Vue.js进行企业级响应式网站开发的最佳实践框架。首先,我需要整理企业级开发的关键点,比如架构设计、状态管理、性能优化等。然后结合Vue.js的特性,比如Vue 3的组合式API、Vue Router、Vuex或Pinia,以及响应式设计的实现方法。 接下来,应该考虑企业级项目常用的框架工具,比如Nuxt.jsVuetify、Element Plus等,这些能帮助快速搭建应用。同时,性能优化方面,可能需要提到代码分割、懒加载、SSR等。另外,测试部署也是企业级开发的重要环节,需要涉及单元测试工具如Jest,E2E测试如Cypress,以及CI/CD流程。 还要注意引用用户提供的参考资料,特别是引用[2]提到的表单生成库引用[5]关于CSS响应式设计的内容。需要确保回答结构清晰,分步骤说明,并推荐相关工具最佳实践。最后生成相关问题时要覆盖架构、状态管理、性能优化、测试部署等方面,帮助用户进一步深入。</think>### 企业级响应式网站开发:Vue.js 最佳实践与框架 #### 一、架构设计与核心工具 1. **项目脚手架** - 使用 **Vue CLI** 或 **Vite** 初始化项目,支持现代构建工具链(如Tree Shaking、热更新) - 企业级推荐 **Nuxt.js** 框架(SSR/SSG支持,SEO优化)[^2] 2. **状态管理** - 复杂应用采用 **Pinia**(Vue 3官方推荐)或 **Vuex** 集中管理状态 - 示例状态模块化: ```javascript // store/user.js export const useUserStore = defineStore(&#39;user&#39;, { state: () => ({ isLoggedIn: false }) }) ``` #### 二、响应式设计实现 1. **布局方案** - 使用CSS Grid/Flexbox + **媒体查询**实现响应式布局 - 集成 **Vuetify** 或 **Element Plus** 组件库(内置响应式断点系统)[^5] 2. **动态适配方案** ```vue <template> <div :class="{ &#39;mobile-layout&#39;: windowWidth < 768 }"> <!-- 内容 --> </div> </template> <script setup> import { ref, onMounted } from &#39;vue&#39; const windowWidth = ref(window.innerWidth) onMounted(() => { window.addEventListener(&#39;resize&#39;, () => { windowWidth.value = window.innerWidth }) }) </script> ``` #### 三、性能优化策略 1. **代码分割与懒加载** ```javascript const ProductList = () => import(&#39;./components/ProductList.vue&#39;) ``` 2. **数据加载优化** - 使用 **Suspense** 组件处理异步加载状态 - 实现虚拟滚动(推荐 **vue-virtual-scroller**)提升长列表性能 3. **构建优化配置** ```javascript // vite.config.js export default defineConfig({ build: { rollupOptions: { output: { manualChunks: { vue: [&#39;vue&#39;, &#39;vue-router&#39;], vendor: [&#39;lodash&#39;, &#39;axios&#39;] } } } } }) ``` #### 四、企业级开发框架推荐 | 框架类型 | 推荐工具 | 特性 | |----------------|--------------------------|-------------------------------| | UI组件库 | Vuetify / Quasar | Material Design风格,响应式组件 | | 表单处理 | vue-awesome-form [^2] | 支持JSON Schema验证 | | 数据可视化 | ECharts + vue-echarts | 交互式图表解决方案 | | 微前端架构 | qiankun + vue-micro-frontend | 模块化部署方案 | #### 五、测试与部署 1. **测试策略** - 单元测试:Jest + Vue Test Utils - E2E测试:Cypress - 代码规范:ESLint + Prettier 2. **CI/CD流程** ```mermaid graph LR A[代码提交] --> B[自动化测试] B --> C{Docker构建} C --> D[预发布环境] D --> E[蓝绿部署] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值