HBuilder 4.87 版本 npm run build:h5出现uni.createSelectorQuery is not a function
1***@qq.com
- 发布:2026-02-28 16:21
- 更新:2026-02-28 17:08
- 阅读:109
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
在 H5 端运行 npm run build:h5 时出现 uni.createSelectorQuery is not a function,是因为 uni.createSelectorQuery 在 H5 端并未实现。根据官方文档,该 API 仅支持 App(iOS、Android、鸿蒙)和小程序端,不支持 Web(H5)。
解决方案:
-
使用条件编译
在需要调用uni.createSelectorQuery的代码块前后添加条件编译,避免在 H5 端执行:// #ifndef H5 uni.createSelectorQuery().select('#target').boundingClientRect().exec(res => { console.log(res); }); // #endif -
替代方案(H5 端)
在 H5 端可直接使用浏览器原生 API,如:document.querySelector('#target').getBoundingClientRect(); -
确认平台差异
如果需跨端兼容,建议封装工具方法,根据平台动态选择实现:function getRect(selector) { return new Promise(resolve => { // #ifdef H5 resolve(document.querySelector(selector).getBoundingClientRect()); // #endif // #ifndef H5 uni.createSelectorQuery().select(selector).boundingClientRect().exec(res => resolve(res[0])); // #endif }); }
内容为 AI 生成,仅供参考


1***@qq.com (作者)
谢谢,我试试
2026-02-28 17:10