XIANXU
XIANXU
  • 发布:2024-07-09 09:34
  • 更新:2024-07-09 09:34
  • 阅读:121

【报Bug】编译到H5平台时引入的npm包包含webgl预处理指令和条件编译冲突

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 22

HBuilderX类型: 正式

HBuilderX版本号: 4.15

浏览器平台: Edge

浏览器版本: 126.0.2592.81 (正式版本) (64 位)

项目创建方式: HBuilderX

示例代码:

npm install spritejs

在vue文件中引入,编译到h5平台,将报错

import * as spritejs from 'spritejs'

操作步骤:

npm install spritejs

在vue文件中引入,编译到h5平台,将报错

import * as spritejs from 'spritejs'

预期结果:

引入后编译正常

实际结果:

报错

09:31:49.872 X [ERROR] Unbalanced delimiter found in string [plugin uni:dep-scan]  
09:31:50.420 Build failed with 1 error:  
09:31:50.420 error: Unbalanced delimiter found in string

bug描述:

引入npm包,比如 npm install spritejs,代码包中包含了webgl预处理指令,比如

#ifdef GL_ES  
  precision mediump float;   
#endif

其中 #endif和uniapp的 vite插件寻找依赖的过程中条件编译方式发生冲突,理论上,uniapp不应该直接去寻找在node_modules下的文件是否包含这类类似条件编译的代码,或者不应该直接简单粗暴的直接使用includes('#endif')方法直接判断字符串中是否包含条件编译,至少应该有个正则判断是否是注释的代码

2024-07-09 09:34 负责人:无 分享
已邀请:

要回复问题请先登录注册