【问题标题】:Can I use node.js locally on a android device?我可以在 Android 设备上本地使用 node.js 吗?
【发布时间】:2018-07-22 23:42:38
【问题描述】:

我是 node.js 的新手,对编码也比较陌生。我编写了需要在 android 设备上运行的 node.js 代码。由于我的 javascript 经验,我选择了 node.js。它使用网络库与设备通信。我已经做了很多谷歌搜索,现在我正在围绕我可以做到这一点的方式转圈。我已阅读有关 PhoneGap 等的信息。我需要能够在本地运行 node.js。我的问题很简单。这可以做到吗?任何帮助将不胜感激。

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

提前谢谢你。

亲切的问候, 杰森。

【问题讨论】:

标签: javascript android node.js


【解决方案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 服务器: 只需将 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 也被复制到应用程序中。

在安卓浏览器中检查服务器是否正常工作。

【讨论】:

  • 这是否模拟了 NodeJS 输出的终端?我对应用如何运行无头服务感到困惑?
  • 上面给出的示例是使用可以从角度访问的 Jxcore 服务创建 1 个服务器调用。检查 index.js 和 jxcore/app.js
  • 我明白了。它就像一个小终端应用程序。对我来说,运行 NodeJS 似乎是一种奇怪的方式,但很高兴知道这是可能的。
猜你喜欢
  • 1970-01-01
  • 2011-01-22
  • 1970-01-01
  • 2015-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-07
  • 1970-01-01
相关资源
最近更新 更多