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请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法

    node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法

    最近在工作中遇到一个问题,node.js请求HTTPS时报错:Error: UNABLE_TO_VERIFY_LEAF_SIGNATURE\,通过查找网上的一些资料找到了解决方法,现在总结下分享给大家,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-12-12
  • nodejs开发微博实例

    nodejs开发微博实例

    本文给大家分享的是使用node.js实现开发微博的实例,主要是看了nodejs开发指南之后发现书上的代码很多已经不能用了,原因是express版本升级了,所以今天就尝试着吧开发微博的实例也升下级,推荐给大家。
    2015-03-03
  • Node.js的文件权限及读写flag详解

    Node.js的文件权限及读写flag详解

    Node.js对文件的读写还是相当灵活的,因为自己老是记不住文件或目录权限的数值表达和字符表达。所以整理出这篇文章,方便以后查阅,下面来一起看看吧。
    2016-10-10
  • 使用nodejs、Python写的一个简易HTTP静态文件服务器

    使用nodejs、Python写的一个简易HTTP静态文件服务器

    这篇文章主要介绍了使用nodejs、Python写的一个简易HTTP静态文件服务器,分为nodejs和Python两个版本,用类似淘宝的CSS、JS文件加载方式处理静态文件加载,需要的朋友可以参考下
    2014-07-07
  • node.js中的dns.getServers方法使用说明

    node.js中的dns.getServers方法使用说明

    这篇文章主要介绍了node.js中的dns.getServers方法使用说明,本文介绍了dns.getServers方法说明、语法和实现源码,需要的朋友可以参考下
    2014-12-12
  • Node.js实现JS文件合并小工具

    Node.js实现JS文件合并小工具

    这篇文章主要介绍了Node.js实现JS文件合并小工具的相关资料,需要的朋友可以参考下
    2016-02-02
  • 详解Node 定时器

    详解Node 定时器

    这篇文章主要介绍了Node 定时器的相关知识,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-02-02
  • node.js多个异步过程中判断执行是否完成的解决方案

    node.js多个异步过程中判断执行是否完成的解决方案

    这篇文章主要给大家介绍了关于node.js多个异步过程中判断执行是否完成的几种解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-12-12
  • 教你用十行node.js代码读取docx的文本

    教你用十行node.js代码读取docx的文本

    这篇文章主要给大家介绍了用十行node.js代码读取docx文本的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-03-03
  • nodejs学习笔记之路由

    nodejs学习笔记之路由

    因为只是用于本地服务器用于自己测试用,所以不需要太完善的路由功能,所以也就不去使用express框架,而是自己实现一个简易路由,可以针对自己的需求来定制路由功能。
    2017-03-03

最新评论