是的,问题似乎有点奇怪(为什么要在移动设备上运行服务器而不是通过REST服务访问服务器),但我仍然希望得到你的意见,我真的需要它来运行设备
目前我发现jxcore(https://github.com/obastemur/jxcore-android-basics)允许在Android和iOS中运行node.js。但我还没有测试过它。
那么,如何在iOS / Android平台上运行node.js?
答案 0 :(得分:2)
JXcore是一个专门用于移动(android,ios和wp)和IoT的node.js的分支。请参阅this blog post了解App Store上的第一个node.js移动应用程序。
对于初学者,请在移动设备上使用带有Cordova的node.js阅读此存储库的README。如果您使用谷歌jxcore和移动设备,您应该在网上找到一些教程和示例。
答案 1 :(得分:2)
截至今天,有一个替代JXcore:Node.js for Mobile Apps,并且它得到了积极维护。
该项目的核心是提供一个本地库,用于将Node.js嵌入到原生Android和iOS应用程序中;但它还附带了React Native和Cordova的插件。
该库的预构建二进制文件适用于Android armeabi-v7a,x86,arm64-v8a,x86_64和iOS 64位。
核心库是nodejs/node-chakracore的分支,后者又是nodejs/node的分支。 Android版本是非常常规的Node.js构建为库,具有一些可移植性修复。 iOS版本使用ChakraCore引擎而不是V8(由于nodejs / node-chakracore fork的更改,可以用ChakraCore替换V8。)
React Native和Cordova插件可以更轻松地将Node.js添加到使用这些框架构建的应用程序中。 Node.js代码在一个独立的引擎和线程中运行,而不是框架(React Native / Cordova)。两个JavaScript世界之间的通信是通过插件提供的消息传递桥实现的。
project website上提供了更多信息,包括一些文档。
(完全披露:我为开发移动应用程序的Node.js的公司工作。)
答案 2 :(得分:0)
当您下载源代码时,您会找到android-configure
,所以至少对于Android来说,如果您自己编译它,它是可能的。对于iOS,我不知道。 Someone managed to get it to work on iOS 4年前,所以它似乎是可能的。另请参阅this related question。
问这个问题的正确位置可能是one of the Node.js mailing lists,因为你可能需要深入参与Node.js的人的帮助。
如果您要定位iOS App Store,请记住您可以运行解释程序(根据定义解释JavaScript),但不允许您运行下载的代码。 Node.js运行的所有内容都必须已包含在应用包中。
答案 3 :(得分:0)
还有另一种选择:LiquidCore。
LiquidCore使Node.js虚拟机可以在Android和iOS应用程序中运行。它提供了完整的运行时环境,包括虚拟文件系统和本机SQLite支持。
LiquidCore是8.9+节点的完整端口,并支持所有功能。
答案 4 :(得分:-2)
可以为ARM构建Node.js,但其他解决方案更好 - 只需使用webView,就像基于Android的Chrome和基于Safari的iOS一样。