Node.js初哥(一)

之前早听过Node.js,但是一直不明白是干什么的,但是在印象中带js的都是小儿科的脚本,而且我本人也不是做互联网开发的,特别是对前端开发也不了解,思维有点定势了,觉得这东西只是个前端的框架,周末无意中看到一篇文章(Node.js入门),这玩意居然是做服务器端开发的。我去。。去卡卡下了本书研究了一下。。发现我错了。。。并且对JavaScript这个语言的三观也全毁了,是谁TM跟这语言想了个Java + Script的名字啊?和Java貌似毛关系都没有。

不多说了,开始正题吧。
1.安装。
推荐linux或者mac os,我是这两个系统的,安装起来都非常方便,就是下面几个命令
git clone git : //github.com/joyent/node.git
cd node
./ configure
make
sudo make install
没有安装git的先安装git,然后在./configure阶段,显示缺什么组建就apt-get install那个组件,然后接着./configure,一路向西就完成了,速度取决于你的网速。
安装完后,node命令就有了,此时node.js就装完了,你就可以开始开发了,不用装阿帕奇之类的服务器,node.js本身就可以做个http服务器

2.JavaScript
首先来说说JavaScript,各种历史我就不说了,谷歌百度上都有,并且我之前也没用过,说不出个所以然来,但是,和我用过的其他语言比较(C/C++/Obj-C Python C# Lua 本人几乎只用过C/C++/Obj-C和Python,除了大学上课的时候,没用过Java),特点是:自由,上手快,非常高级,有函数式编程的思想和组件,速度上配合上google的V8引擎,也不错。我觉得它应该定义成一个完整编程语言而不仅仅是脚本,当然,Node.js就是把它当成一门完整的编程语言来弄的。

3.设计思想
我只看了一点点的教程,可能说的不完整,但是node.js我觉得最核心的思想就是回调,这点特性其实在C语言中已经大量应用,但是大家写C语言可能也不太习惯用回调函数,由于Node.js是单进程处理,所以回调函数显得尤为重要了,另外,插一句,闭包也是js的重要特性,有兴趣的同学可以看看这里

4.开始吧
前面废话了很多,我们开始吧,还是从hello world开始?别,我们直接来点高深的,搭个简单得不能再简单的框架吧。
一个基本的web应用包括三个部分
1.服务器部分,负责监听端口,建立连接,接收请求。
2.路由部分,负责将接收到的请求和数据路由到相应的处理模块。
3.处理模块部分,负责处理具体的请求业务,这一部分才是web应该的关键,这一部分也是我们开发一个web应用主要进行的编程的地方。
我们一个一个来。
首先,建立一个服务器部分,负责监听端口,接收请求,在Node.js中建立一个Http服务器很简单,两句代码(先建个文件web.js):
//添加http库(系统自带)
var http = require("http"); 
/*监听8888端口,onRequest是回调函数,原型是onRequest(req,rsp)就是说有连接上来以后会调用这个函数来处理,req是请求数据,rsp是服务器
回复的数据http.createServer(onRequest).listen(8888); */
//这样就完成了,在写个回调函数在上面:
function onRequest(req,rsp){
   	 rsp.writeHead(200, {"Content-Type": "text/html"});     
	rsp.write("index page");     
	rsp.end();
}


哦了,在命令行 node web.js,回车
然后用浏览器访问 http://localhost:8888
看到index page了么?太简单了。
接下来,我们需要把这个东东封装一下
//启动应用程序的入口函数
function startServer(port)
{
        //端口,默认8888
	port=  (typeof(port)=="undefined")?8888:port;
	//服务器响应回调函数
	function onRequest(req,rsp){			
            rsp.writeHead(200, {"Content-Type": "text/html"});             rsp.write("index page");             rsp.end();
	}
	var http = require("http"); 
	http.createServer(onRequest).listen(port); 
	console.log("申请端口成功,服务器正常运行");
}
//导出一下
exports.Start=startServer;


这个web.js就是我们的框架程序了,后面的东西都在这上面改
好了,我们新建一个Application.js文件
里面只有两句话:
//导入web.js
var Server = require("./web");
//启动服务
Server.Start();

好了,在命令行运行 node Application.js 哦了~~~~以后做了修改,只要不停的运行这一句就行了,这个就是我们程序的入口了。
但是现在无论访问
http://localhost:8888 还是  http://localhost:8888/abc 或者其他什么的,都是返回的index page 几个字,因为还没有路由,下一个我们加一下路由,加了路由,框架就基本完成了,^__^,极简框架就是这样的,只是让大家了解一下Node.js








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值