liub1934
liub1934
  • 发布:2019-07-16 15:32
  • 更新:2022-07-30 22:09
  • 阅读:2347

【报Bug】使用webpack的`require.context`自动注册全局组件app端无效

分类:uni-app

详细问题描述

使用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]

2019-07-16 15:32 负责人:无 分享
已邀请:
zhangdaren

zhangdaren - 小程序转uniapp工具:https://ext.dcloud.net.cn/plugin?id=2656

关注一下,应该只能适用于vue-cli项目吧?hbx项目应该没法用了。

t***@163.com

t***@163.com

通求

1***@qq.com

1***@qq.com - 一句话,干,遇见问题就干他,干不了他,找办法

相同的问题

1***@qq.com

1***@qq.com

同求,app使用require.context报错
reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught TypeError: Cannot read property 'documentElement' of undefined

是vue-cli创建的项目

lanxue

lanxue

你这个问题 你后来解决了吗?

v***@vtstar.net

v***@vtstar.net

解决了吗,我的也是这个问题

要回复问题请先登录注册