Nodejs 入门秘籍,搭一个最简单的web服务器。(菜鸟的你也能秒懂

心血来潮,总结了一个Nodejs入门秘籍。看了你就想学NodeJs了。一、简单介绍nodejs初学nodejs ,直接上简单实例。先简单说明一下:nodejs ,nodejs相当于服务器端的 可以轻易搭建一个服务器端。nodejs是用C++开发的一种运行于服务器端的语言,可以写网站后台程序,可以做服务端应用开发,语法和JAVASCRIPT一样,会JS,就是会NodeJS,区别于,,普通JS是脚本运行客户端,而NODEJS中的JS是运行于服务器端,NODEJS的作用相当PHP,ASP等语言。Nodejs最大的特性之一:非阻塞(事件驱动IO),这也让nodejs的性能有不小的提升。

传统的web server多为基于线程模型。你启动Apache或者什么server,它开始等待接受连接。当收到一个连接,server保持连接连通直到页面或者什么事务请求完成。如果他需要花几微妙时间去读取磁盘或者访问数据库,web server就阻塞了IO操作(这也被称之为阻塞式IO).想提高这样的web server的性能就只有启动更多的server实例。

相反的,Node.Js使用事件驱动模型,当web server接收到请求,就把它关闭然后进行处理,然后去服务下一个web请求。当这个请求完成,它被放回处理队列,当到达队列开头,这个结果被返回给用户。这个模型非常高效可扩展性非常强,因为webserver一直接受请求而不等待任何读写操作。(这也被称之为非阻塞式IO或者事件驱动IO)\

考虑下面这个过程:1,你用浏览器访问nodejs服务器上的"/about.html"2,nodejs服务器接收到你的请求,调用一个函数从磁盘上读取这个文件。3,这段时间,nodejs webserver在服务后续的web请求。4,当文件读取完毕,有一个回调函数被插入到nodejs的服务队列中。5,nodejs webserver运行这个函数,实际上就是渲染(render)了about.html页面返回给你的浏览器。

好像就节省了几微秒时间,但是这很重要!特别是对于需要相应大量用户的web server。

下面我们来构建一个简单实例:准备工作:在linux上安装好nodejs(自带npm包管理器)。npm是nodejs的包管理器,后续需要用到的比如express,socket.io等模块都是通过npm 下载。npm init 生成一个包管理文件:package.json.npm install express –save 安装express –save 可以自动更新package.json 文件,将express 作为项目以来添加到package.json里面。同时npm会自动新建node_modules文件夹,存放各种包。Express 是一个简洁而灵活的 node.js Web应用框架, 提供一系列强大特性帮助你创建各种Web应用。Express框架建立在node.js内置的http模块上。新建app.js ,用于搭建简单的web服务器。$vim app.jsvar express = require(‘express’) //加载express模块var app = express()var port = process.env.PORT || 3000 //监听的端口app.use(express.static(__dirname + ‘/static’))app.use(function (req , res){ res.sendfile(‘./static/index.html’)

})

app.listen(port,function(){console.log(‘TechNode is on port’ + port + ‘!’ )})将静态文件放在static目录下;在static目录下还会放index.html文件,它将会作为整个应用的启动页面。除了静态文件的请求以外,其他所有的HTTP请求,我们都会输出index.html文件,服务端不关心路由,所有的路由逻辑可以都交给在浏览器端的Angular.js(另一神器,正在学习)去处理。如果想查看服务器端的请求日志,加上下面这两句即可,但是加之前别忘了 npm install morgan –save哦:var logger = require(‘morgan’)app.use(logger(‘dev’));接下来,我们随便在static目录下建个index.html,里面加点内容,我们就可以在敲入 $node app.js便可以在浏览器端 浏览 :服务器Ip:3000/ 。让我们回顾下,整个目录下就只由这几部分组成:l@ubuntu-temp:~/test27$ lsapp.js node_modules package.json static很简单对不对。nodejs的学习之路这就开始了!学好nodejs主要要学习他的核心框架,模块加载机制,路由处理,异步编程机制,http框架==。

世界会向那些有目标和远见的人让路(冯两努–香港着名推销商

Nodejs 入门秘籍,搭一个最简单的web服务器。(菜鸟的你也能秒懂

相关文章:

你感兴趣的文章:

标签云: