uni-app 鸿蒙模拟器下 "^u-(.*)": "@/components/uview-ui/components/u-$1/u-$1.vue" 引入会导致白屏
uni-app 鸿蒙模拟器下 “^u-(.*)”: “@/components/uview-ui/components/u-$1/u-$1.vue” 引入会导致白屏
信息类别 | 详细信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC版本号 | win10 |
HBuilderX | 正式 |
HBuilderX版本号 | 4.29 |
手机系统 | HarmonyOS NEXT |
手机版本号 | HarmonyOS NEXT Developer Beta2 |
手机厂商 | 模拟器 |
手机机型 | 模拟器 |
页面类型 | vue |
Vue版本 | vue3 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
示例代码:
"^u-(.*)": "@/components/uview-ui/components/u-$1/u-$1.vue"
操作步骤:
"^u-(.*)": "@/components/uview-ui/components/u-$1/u-$1.vue"
预期结果:
"^u-(.*)": "@/components/uview-ui/components/u-$1/u-$1.vue"
实际结果:
"^u-(.*)": "@/components/uview-ui/components/u-$1/u-$1.vue"
bug描述:
"easycom": {
"autoscan": true,
"custom": {
"^u-(.*)": "@/components/uview-ui/components/u-$1/u-$1.vue"
}
}
要是使用 “^u-(.*)”: “@/components/uview-ui/components/u-$1/u-$1.vue” 引入组件
模拟器 打开就白屏。。
去掉这个就好了
更多关于uni-app 鸿蒙模拟器下 "^u-(.*)": "@/components/uview-ui/components/u-$1/u-$1.vue" 引入会导致白屏的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于uni-app 鸿蒙模拟器下 "^u-(.*)": "@/components/uview-ui/components/u-$1/u-$1.vue" 引入会导致白屏的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在uni-app中使用自定义组件时,如果在鸿蒙模拟器下遇到因组件引入方式导致的白屏问题,可能是由于路径解析、组件注册或组件本身代码存在问题。针对你提到的 ^u-(.*)
: @/components/uview-ui/components/u-$1/u-$1.vue
这种动态引入方式,我们可以尝试以下几种方法来定位和解决问题。
首先,确保你的路径和文件结构是正确的。这里是一个简化的代码示例,展示如何在uni-app中正确引入和使用uView UI组件库中的组件,同时避免可能的路径解析问题:
-
确保组件路径正确: 在
main.js
或main.ts
中全局注册uView组件库(假设你使用的是uView UI):import Vue from 'vue'; import uView from '@/components/uview-ui'; Vue.use(uView);
如果你是按需引入,确保路径解析正确。例如,手动引入一个组件:
import MyComponent from '@/components/uview-ui/components/u-button/u-button.vue'; Vue.component('MyComponent', MyComponent);
-
使用webpack别名: 在
vue.config.js
中配置webpack别名,确保^u-(.*)
路径解析正确:const path = require('path'); module.exports = { configureWebpack: { resolve: { alias: { '@': path.resolve(__dirname, 'src'), 'u-components': path.resolve(__dirname, 'src/components/uview-ui/components') } } } };
然后在组件中这样使用:
<template> <u-button></u-button> </template> <script> import UButton from 'u-components/u-button/u-button.vue'; export default { components: { 'u-button': UButton } }; </script>
-
检查组件代码: 确保引入的组件代码没有错误,特别是组件的
name
属性是否与标签名一致,以及组件内部是否有导致渲染失败的代码。 -
使用静态引入作为临时解决方案: 如果动态引入持续导致问题,考虑使用静态引入作为临时解决方案,直到找到动态引入问题的根本原因。
-
查看控制台日志: 在鸿蒙模拟器中查看开发者工具的控制台日志,可能会有更详细的错误信息帮助定位问题。
通过上述步骤,你应该能够定位并解决因组件引入方式导致的白屏问题。如果问题依旧存在,可能需要更深入地检查uni-app和鸿蒙模拟器的兼容性问题。