详细问题描述
使用webpack的require.context
自动注册全局组件,h5端正常,app端不生效,相关代码:
import Vue from 'vue'
const requireComponent = require.context(
// 其组件目录的相对路径
'../components/globals',
// 是否查询其子目录
true,
// 匹配基础组件文件名的正则表达式
/\w+\.vue$/
)
requireComponent.keys().forEach(fileName => {
// 获取组件配置
const componentConfig = requireComponent(fileName)
// 获取组件的命名
const componentName = fileName.split('/').pop().replace(/\.\w+$/, '')
// 全局注册组件
Vue.component(
componentName,
// 如果这个组件选项是通过 `export default` 导出的,
// 那么就会优先使用 `.default`,
// 否则回退到使用模块的根。
componentConfig.default || componentConfig
)
})
具体见附件项目中的plugins目录
重现步骤
[步骤]
h5端运行代码,可以看到一个icon图标,说明uni-icon组件自动注册成功了,app端的运行的时候不显示icon图标,审核元素输出的是wx-uni-icon
标签,估计其他端也是如此
[结果]
h5端正常显示icon,app端不显示
[期望]
h5和app端都能正常显示
IDE运行环境说明
[IDE版本号] HBuilderX 2.1.0.20190713
[windows版本号] win10
uni-app运行环境说明
最新HBuilderX新建的项目
App运行环境说明
[Android版本号]
8.0
[iOS版本号]
[手机型号]
Pixel_XL_API_26
[模拟器型号]
Android Studio自带模拟器
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
[可重现代码片段]
联系方式
[QQ]