HarmonyOS 鸿蒙Next js请求本机ip地址及打包虚拟机运行问题

HarmonyOS 鸿蒙Next js请求本机ip地址及打包虚拟机运行问题

请问大佬们,想在本地启一个后端,本地调试代码联通后端,有案例吗,我这边摸索不出来了哈哈。

代码报错没 post类型,部署本机装的phone虚拟机也装不上。

刚开始了解harmoy,下的最新的ide,用的sdk 8

错误日志:

– 预览页面调用方法发送请求

[phone][Console INFO]  07/11 01:38:22 151172 app Log: header: null
[phone][Ace ERROR]  07/11 01:38:22 151172 [qjs_utils.cpp(JsStdDumpErrorAce)-(0)] [Engine Log] [DUMP] TypeError: cannot read property 'POST' of undefined
[phone][Ace ERROR]  07/11 01:38:22 151172 [qjs_utils.cpp(JsStdDumpErrorAce)-(0)] [Engine Log]     at login (./app.js:282)

– 点击运行,运行至虚拟机

$hdc file send C:\Users\donxak\DevEcoStudioProjects\MyApplication2\entry\build\default\outputs\default\entry-default-unsigned.hap /sdcard/21912e9758db443ebf46a499912d01b6/entry-default-unsigned.hap
$hdc shell bm install -p /sdcard/21912e9758db443ebf46a499912d01b6/
Failure[INSTALL_PARSE_FAILED_USESDK_ERROR]
$hdc shell rm -rf /sdcard/21912e9758db443ebf46a499912d01b6
Error while Deploying HAP

请求方法:(直接抄的案例)

login() {
    let request = http.createHttp()
    request.on('headersReceive', (header) => {
        console.info('header: ' + JSON.stringify(header));
    });
    request.request(
        "http://localhost:8080/donxak/login",
        {
            method: http.RequestMethod.POST, 
            header: {
                'Content-Type': 'application/json'
            },
            extraData: {
                "data": {
                    acct: this.acct, password: this.password
                }
            },
            connectTimeout: 60000,
            readTimeout: 60000, 
        }, (err, data) => {
        if (!err) {
            console.info('all:' + JSON.stringify(data))
            // data.result为http响应内容,可根据业务需要进行解析
            console.info('Result:' + data.data);
            console.info('code:' + data.responseCode);
            // data.header为http响应头,可根据业务需要进行解析
            console.info('header:' + JSON.stringify(data.header));
            console.info('cookies:' + data.cookies); // 8+
        } else {
            console.info('error:' + JSON.stringify(err));
            // 当该请求使用完毕时,调用destroy方法主动销毁。
            request.destroy();
        }
    })
}

更多关于HarmonyOS 鸿蒙Next js请求本机ip地址及打包虚拟机运行问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
INSTALL_PARSE_FAILED_USESDK_ERROR

这个错误,SDK版本不对

还有预览器是不能网络请求的,模拟器的网络和你的电脑不是一个局域网,也是访问不了你的本地服务器的,可能只能真机测试了

https://developer.huawei.com/consumer/cn/forum/topic/0204703987435470062?fid=26

更多关于HarmonyOS 鸿蒙Next js请求本机ip地址及打包虚拟机运行问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS环境中使用Next.js请求本机IP地址,通常涉及Node.js后端逻辑。你可以使用os模块来获取本机IP地址。以下是一个示例代码:

const os = require('os');

function getLocalIPAddress() {
    const interfaces = os.networkInterfaces();
    for (const iface in interfaces) {
        for (const alias of interfaces[iface]) {
            if (alias.family === 'IPv4' && !alias.internal) {
                return alias.address;
            }
        }
    }
    return '0.0.0.0';
}

console.log(getLocalIPAddress());

将此代码集成到你的Next.js应用中,即可获取本机IP地址。

至于打包虚拟机运行问题,HarmonyOS应用通常使用ArkUI或JS UI框架开发,并通过DevEco Studio进行打包。若你尝试在虚拟机上运行Next.js应用,需确保虚拟机支持Node.js环境,并正确配置相关依赖。此外,由于Next.js主要用于构建服务器端渲染的React应用,与HarmonyOS原生应用架构存在差异,可能需要额外适配工作。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部