iPhone手机上搭建nodejs服务器步骤方法

 更新时间:2015年07月06日 08:52:28   投稿:junjie  
这篇文章主要介绍了iPhone手机上搭建nodejs服务器步骤方法,本文给出了详细的操作步骤以及操作命令,需要的朋友可以参考下

一、为在ios上面运行,编译jxcore

复制代码 代码如下:

$ mkdir ~/jxcore 
$ cd ~/jxcore 
$ git clone https://github.com/jxcore/jxcore.git 


复制代码 代码如下:

$ cd ~/jxcore/jxcore 
$ ./build_scripts/ios-compile.sh 

如果出现import which的module not found问题, 那就通过下面语句安装python的which

复制代码 代码如下:

sudo easy_install tools/which-1.1.0-py2.7.egg 

如果出现别的问题,可以参看jxcore编译ios的前提条件,采取相应措施。
https://github.com/jxcore/jxcore/blob/master/doc/HOW_TO_COMPILE.md


复制代码 代码如下:

* GCC 4.2 or newer (for SpiderMonkey builds 4.7+) 
* Python 2.6 or 2.7 
* GNU Make 3.81 or newer 
* libexecinfo (FreeBSD and OpenBSD only) 
* for SpiderMonkey : 'which' python module (sudo easy_install tools/which-1.1.0-py2.7.egg) 

二、 在mac上安装jxcore

复制代码 代码如下:

$ ./configure 
$ sudo make install 

三、 创建cordova程序,如果没有安装cordova,可以自行安装。

复制代码 代码如下:

$ cordova create hello com.example.hello HelloWorld 
$ cd hello 

四、下载安装jxcore-cordova插件

复制代码 代码如下:

$ git clone https://github.com/jxcore/jxcore-cordova 

利用jxcore-cordova的模板index.html
复制代码 代码如下:

$ cp ./jxcore-cordova/sample/www/index.html ./www/ 

拷贝在第一步为在ios上运行而编译的jxcore包
复制代码 代码如下:

$ cp -r ~/jxcore/jxcore/out_ios/ios/bin jxcore-cordova/io.jxcore.node/ 

五、添加cordova的ios platform
复制代码 代码如下:

$ cordova platforms add ios 
$ cordova plugin add jxcore-cordova/io.jxcore.node/ 
$ cordova build 
$ cordova run ios 

如果build出错,"C does not support default arguments"

只需将默认值去掉一般就会解决问题。

复制代码 代码如下:

JXCORE_EXTERN(void) 
JX_SetString(JXValue *value, const char *val, const int32_t length = 0); 

修改为
复制代码 代码如下:

JXCORE_EXTERN(void) 
JX_SetString(JXValue *value, const char *val, const int32_t length); 

重新build即可

六、此时应该可以看到cordova的运行界面。
七、在Resources/jxcore_app/app.js添加nodejs server

在app.js的最后面添加如下代码

复制代码 代码如下:

function getIP() { 
        var os = require('os'); 
        var nets = os.networkInterfaces(); 
        console.log(nets); 
        for ( var a in nets) { 
                var ifaces = nets[a]; 
                for ( var o in ifaces) { 
                        if (ifaces[o].family == "IPv4" && !ifaces[o].internal) { return ifaces[o].address; } 
                } 
        } 
        return null; 

var ip = getIP(); 
if (!ip) { 
        console.error("You should connect to a network!"); 
        return; 

 
var http = require('http'); 
http.createServer(function(req, res) { 
        res.writeHead(200, { 
                'Content-Type': 'text/plain' 
        }); 
        var cur_client = ""; 
        if(req.connection && req.connection.remoteAddress) { 
                console.log(req.connection.remoteAddress); 
                cur_client = req.connection.remoteAddress; 
        } else if(req.headers) { 
                console.log("request header X-Forwarded-For"); 
                console.log(req.headers['X-Forwarded-For']); 
                cur_client = req.headers['X-Forwarded-For']; 
        } 
        cordova('log').call('client( ' + cur_client + ' ) come'); 
        res.end('Hello '+ cur_client +', I am server on iphone app('+ ip +'). '+Date.now()+'\n'); 
}).listen(1337, ip); 
console.log('Server running at http://' + ip + ':1337/'); 

运行程序,即可在xcode的log信息里面看到iphone的ip,然后通过网页就可以浏览网页。

相关文章

  • node.JS路径解析之PATH模块使用方法详解

    node.JS路径解析之PATH模块使用方法详解

    path模块包含一系列处理和转换文件路径的工具集,通过 require('path') 可用来访问这个模块。本文将详细介绍path模块
    2020-02-02
  • 使用node搭建自动发图文微博机器人的方法

    使用node搭建自动发图文微博机器人的方法

    这篇文章主要介绍了使用node搭建自动发图文微博机器人的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Node.js获取本机Mac地址的两种方案

    Node.js获取本机Mac地址的两种方案

    有时候我们的项目中可能会有日志记录的功能或者其他需要ip的功能,于是这时我们需要获取用户的ip地址或mac地址,下面这篇文章主要给大家介绍了关于Node.js获取本机Mac地址的两种方案,需要的朋友可以参考下
    2022-09-09
  • Node.js 使用jade模板引擎的示例

    Node.js 使用jade模板引擎的示例

    本篇文章主要介绍了Node.js 使用jade模板引擎的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • express的中间件basicAuth详解

    express的中间件basicAuth详解

    这篇文章主要介绍了node.js中express的中间件basicAuth的使用方法,需要的朋友可以参考下
    2014-12-12
  • NodeJs Express框架实现服务器接口详解

    NodeJs Express框架实现服务器接口详解

    最近学习了基于前后端分离的开发模式,我前端使用Vue框架,后端使用nodejs开发API接口,下面这篇文章主要给大家介绍了关于nodejs使用Express框架写后端接口的相关资料,需要的朋友可以参考下
    2022-08-08
  • 利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)

    利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)

    现在我们可以用浏览器调试node.js了!!!下面这篇文章主要介绍了利用Chrome DevTools直接调试Node.js和JavaScript的方法步骤,文中介绍的很详细,需要的朋友可以参考学习,下面来一起看看吧。
    2017-02-02
  • npm ERR! code ELIFECYCLE错误及解决方法

    npm ERR! code ELIFECYCLE错误及解决方法

    有时候在使用npm运行命令时,可能会遇到错误,本文主要介绍了npm ERR! code ELIFECYCLE错误及解决方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • node.js中格式化数字增加千位符的几种方法

    node.js中格式化数字增加千位符的几种方法

    这篇文章主要介绍了node.js中格式化数字增加千位符的几种方法,本文给出3种实现方法,并分别给出实例代码,需要的朋友可以参考下
    2015-07-07
  • 使用nvm切换node版本的实现方法

    使用nvm切换node版本的实现方法

    我们在工作中可能会碰到这样的情况:一个人要负责多个项目的维护,而项目中的插件又各有不同,插件下载所需的node版本可能也不同,所以只有一个node版本是无法满足工作需求的,所以就有了nvm,volta等node版本管理工具,在本节将介绍nvm的使用方法
    2023-10-10

最新评论