我可以在Android设备上本地使用node.js吗?

时间:2018-07-22 23:42:38

标签: javascript android node.js

我是node.js的新手,也是编码的新手。我已经编写了需要在android设备上运行的node.js代码。由于我的JavaScript经验,我选择了node.js。它正在使用网络库与设备进行通信。我已经进行了大量的谷歌搜索,现在我正在绕圈绕圈地进行操作。我已经阅读了有关PhoneGap等的内容。我需要能够在本地运行node.js。我的问题很简单。能做到吗?任何帮助将不胜感激。

如果您认为node.js不是正确的方法,那么对使用android平板电脑进行设备通信的任何建议将不胜感激。

谢谢。

亲切的问候, 杰森。

1 个答案:

答案 0 :(得分:1)

是的,可以在android上运行node.js。 由于Node.js需要V8 JavaScript引擎,因此无法在android设备上使用。 Jxcore可以替代它。

我能够在Cordova上运行JxCore。 JxCore几乎类似于Node.js 找到以下链接以供参考: https://github.com/jxcore/jxcore-cordova

以下是Angular cordova应用程序的工作示例链接: https://github.com/karaxuna/jxcore-tutorial-angular

我能够运行此示例并在android设备本身内部创建快递服务器。

在上面的示例中运行Express Server: 只需将jxcore / app.js更改为

var express = require('express');
var app = express();


app. post('/sample', function (req, res) {
    var headers = {};

    // set header to handle the CORS
    headers['Access-Control-Allow-Origin'] = '*';
   // headers['Access-Control-Allow-Origin'] = 'http://localhost:?';
    headers['Access-Control-Allow-Headers'] = 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With';
    headers['Access-Contrl-Allow-Methods'] = 'PUT, POST, GET, DELETE, OPTIONS';
    headers["Access-Control-Max-Age"] = '86400';
    headers["Content-Type"] = 'application/json';
    res.writeHead(200, headers);
    setTimeout(() => {
        res.write('{"message" : "hello"}');
        res.end();

    }, 1000);

});

app.listen(3000, function () {
    console.log('Example app listening on port 3000!');
});

确保将node_modules也复制到应用程序中。

通过android浏览器检查服务器是否正常工作。