2 评论

0 收藏

分享

[未解决] 优雅草蜻蜓hr人才招聘系统2.09版本编译运行错误

打开编译运行就报错误,无法看到登录页面


const install = () => {
        const http = new Http()
        uni.$u.get = http.get
        uni.$u.post = http.post
}


Uncaught TypeError: Cannot set properties of undefined (setting 'get')


优雅草论坛2022年8月11日大改,优雅草论坛变回只服务于客户的提问交流论坛,详情查看优雅草8月11日大改,原因详情查优雅草外卖乐关闭

回复

举报 使用道具

全部回复 (2)
查看全部
这个问题大概率是缺乏 依赖,优先请npm install  其次要node-v 看看node版本,node版本不可以太低。

优雅草论坛2022年8月11日大改,优雅草论坛变回只服务于客户的提问交流论坛,详情查看优雅草8月11日大改,原因详情查优雅草外卖乐关闭

举报 回复 使用道具

这个错误表明你在尝试给 `uni.$u` 对象设置 `get` 和 `post` 方法时,`uni.$u` 是 `undefined`。这意味着 `uni` 对象上没有 `$u` 属性。

### 解决方法:

1. **确保 `uni.$u` 已定义**:
   在设置 `uni.$u.get` 和 `uni.$u.post` 之前,你需要确保 `uni.$u` 已经是一个对象。可以在代码前添加初始化逻辑:

   ```javascript
   const install = () => {
       const http = new Http();
       // 确保 uni.$u 存在
       if (!uni.$u) {
           uni.$u = {};
       }
       uni.$u.get = http.get;
       uni.$u.post = http.post;
   };
   ```

2. **检查 `uni` 对象是否可用**:
   确保 `uni` 对象已经正确加载。在 UniApp 中,`uni` 是全局对象,通常不会出现未定义的情况,但在某些特殊情况下(如非 UniApp 环境运行),可能需要检查。

3. **检查 `Http` 类是否正确导出**:
   确保 `Http` 类已正确定义并导出,且 `http.get` 和 `http.post` 是有效的方法。

4. **检查代码执行时机**:
   如果这段代码在组件或页面加载前执行,可能会导致 `uni` 对象未完全初始化。可以尝试将代码放在 `onLaunch` 或 `created` 生命周期中执行。

### 完整示例:
```javascript
// 假设 Http 类已定义
class Http {
    get(url, params) {
        return uni.request({ url, method: 'GET', data: params });
    }
    post(url, data) {
        return uni.request({ url, method: 'POST', data });
    }
}

const install = () => {
    // 初始化 uni.$u 如果不存在
    if (!uni.$u) {
        uni.$u = {};
    }
    const http = new Http();
    uni.$u.get = http.get.bind(http);
    uni.$u.post = http.post.bind(http);
};

// 调用 install 安装
install();
```

### 注意事项:
- 如果 `uni.$u` 是第三方库(如 `uView`)提供的对象,请确保已正确安装和配置该库。
- 如果问题仍然存在,请检查项目的依赖和运行环境是否正确。

优雅草论坛2022年8月11日大改,优雅草论坛变回只服务于客户的提问交流论坛,详情查看优雅草8月11日大改,原因详情查优雅草外卖乐关闭

举报 回复 使用道具

evan7401
蜻蜓系列VIP客户
主题 0
回复 0
粉丝 0