uni-app ReferenceError uniCloud is not defined

uni-app ReferenceError uniCloud is not defined

开发环境 版本号 项目创建方式
Mac 15.5 HBuilderX

操作步骤:

直接运行即可,没有其它运行条件

预期结果:

不报错,正常往下执行

实际结果:

const cloud = uniCloud.importObject('xxx')就报错:ReferenceError: uniCloud is not defined

bug描述:

unapp项目内竟然报ReferenceError: uniCloud is not defined?

声明:

  1. 项目已绑定了云服务空间;
  2. H5和App都能正常运行并通过云函数获取到了数据。

报错的源代码:

const cloud = uniCloud.importObject('xxx')  
if (cloud && cloud.start) {  
    cloud.start(params).then(handleSuccess).catch(handleFail)  
} else {  
    console.error('启动云函数不存在')  
}

更多关于uni-app ReferenceError uniCloud is not defined的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

uniapp项目还是uniappx项目?

更多关于uni-app ReferenceError uniCloud is not defined的实战教程也可以访问 https://www.itying.com/category-93-b0.html


uniappx项目 微信小程序平台 接入激励视频广告,配置url-callback之后,看完广告结束之后就报以下错误,

uniCloud上的uniAdCallback函数也没有收到任何日志。
是uniappx不支持这个url-callback么?还是其它什么原因呢

在项目中调用uniCloud.callFunction 其它云函数都是正常的。

找到原因了吗,我也遇到了这个情况,云函数和云对象两个都不行

这个错误通常是因为在非uniCloud环境下使用了uniCloud API。虽然H5和App端运行正常,但某些特殊场景下(如SSR、条件编译)可能导致uniCloud对象未定义。

建议在调用前添加环境判断:

// 方案1:检查uniCloud对象是否存在
if (typeof uniCloud !== 'undefined') {
    const cloud = uniCloud.importObject('xxx')
    // ...后续代码
} else {
    console.warn('当前环境不支持uniCloud')
}

// 方案2:使用条件编译
// #ifdef H5 || APP-PLUS
const cloud = uniCloud.importObject('xxx')
// #endif
回到顶部