在移动应用程序中使用NodeJs服务器端代码的可能性?

时间:2019-01-04 14:54:45

标签: node.js cordova react-native ionic-framework nativescript

是否可以在移动应用程序的本机,离子,cordova或本机脚本中使用 NodeJs 服务器端代码?

问题更新: 我想使用NodeJs包并将NodeJs包包含到移动应用程序中(本地脚本 ionic cordova react native >)。例如,将instagram-private-api包含在本地脚本中:NodeJs Private instagram API

3 个答案:

答案 0 :(得分:0)

{N}!==浏览器/ NodeJS。

这是纯JS运行时,这些平台专用的所有api在{N}中均不起作用。虽然nativescript-nodeify插件通过将NodeJS api转换为它们的本机等效物而非常有限。

答案 1 :(得分:0)

我在cordova应用程序中使用了许多node.js API(包括google / baidu / bing / wikipedia),这是我做的事情:

  1. 在Linux服务器中安装node.js / express / socket.io。

  2. 在Cordova应用程序内使用socket.io在应用程序和node.js / socket.io服务器之间创建“许多客户机到一台服务器”连接。在https://socket.io中,有一个简单的示例教您如何操作。

  3. 在Cordova App中,使用socket.emit('FromClientToServerCallAPI',data)之类的东西来调用api。

  4. 在node.js服务器中,定义一个函数:

socket.on('FromClientToServerCallAPI',数据)

在此函数中,调用您的api,然后从api提供程序获得结果后,运行:

socket.emit('FromServerToClientAPIResult',结果)

  1. 在您的Cordova应用中,定义一个函数:

socket.on('FromServerToClientAPIResult',结果)

然后用“结果”做某事

pls。请注意,以上所有功能都是异步的。

永远不要尝试直接在客户端代码中调用api,某些api提供程序要求您申请api服务并为您提供使用api的“密钥”,您不想将其放置在内部您的javacript并将其公开给您的所有App用户,对吧?

答案 2 :(得分:0)

是的,可以使用nodejs-mobile。它使您可以在移动应用程序中运行成熟的Node.js引擎。它适用于Android和iOS。还有其他在Android上运行的解决方案,但据我所知,nodejs-mobile是目前唯一支持iOS的解决方案。它还带有React Native和Cordova的插件。

可在项目网站上找到包括文档在内的更多信息。

(完全公开:我为开发nodejs-mobile的公司工作。)