Laya添加组件报错Error, please report this information to the developer TypeError: Cannot read property ‘1‘

关于 Laya 添加组件报错

错误截图

在开心的一年里 我拿着我心爱的macbook pro 安装上了我心爱的laya引擎。当我想给我完美的新年小游戏添加组件的时候。 新年的第一个BUG它如期而至!!!
在这里插入图片描述

解决方式

  • mac用户 使用Vscode或者其他代码编辑器 打开文件
    /Applications/LayaAirIDE%202.app/Contents/Resources/app/out/vs/layaEditor/h5/layabuilder.max.js

  • windodw用户 在laya安装文件夹 搜索找到 layabuilder.max.js 文件

  • 搜索 _matchClassName 关键词

定位到报错的地方 问题很明显 官方疏忽了正则匹配为空的情况

在这里插入图片描述

  • 2行代码解决
    在这里插入图片描述

触发的原因

  • 在mac中有一些Mac OS保存文件夹的自定义属性的隐藏文件 .DS_store,如文件的图标位置或背景色,相当于Windows的desktop.ini。这些文件是自动生成的 所以当你打开项目的时候自动生成在您的src代码目录

  • 未知文件参入 Script正则匹配 出现null 情况,官方未想到null的情况 引起程序报错
    在这里插入图片描述
    //正则匹配为nll时 取数组下标1 直接导致程序崩溃
    在这里插入图片描述

  • Laya是有提供忽略文件的选项的,but ! 它是隐藏的. 你可以通过命令来显示一些隐藏的文件 但是 .DS_store还是无法显示的 至少在您的laya编辑器里 您是无法直接添加它的

并非只有 .DS_store文件会导致问题的发生。 在src检查目录下 只要出现一些特殊的文件 包括 您自定义的一些shader脚本文件也会导致 正则匹配的问题。所以这个问题 是mac和window都存在的情况

  • 所以最终的解决方案是 自己加上这段正则结果为null判断的代码 一劳永逸 不改忽略文件

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客柒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值