我是node.js的新手,也是编码的新手。我已经编写了需要在android设备上运行的node.js代码。由于我的JavaScript经验,我选择了node.js。它正在使用网络库与设备进行通信。我已经进行了大量的谷歌搜索,现在我正在绕圈绕圈地进行操作。我已经阅读了有关PhoneGap等的内容。我需要能够在本地运行node.js。我的问题很简单。能做到吗?任何帮助将不胜感激。
如果您认为node.js不是正确的方法,那么对使用android平板电脑进行设备通信的任何建议将不胜感激。
谢谢。
亲切的问候, 杰森。
答案 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浏览器检查服务器是否正常工作。