node.js 使用createServer创建最基础的node应用。
2016-07-22 14:37
495 查看
✎﹏﹏ 刚学node.js 理解不正确的地方还请多指教。
createServer 方法说明:
该函数用来创建一个HTTP服务器,并将 onRequest 作为 request 事件的监听函数。
也就是说,当用户请求http服务器时,用户会像服务器发送一个 onRequest函数。并且函数会传递两个参数
接收参数:
request 请求对象,想知道req有哪些属性,可以查看 “http.request 属性整合”。
response 响应对象 ,收到请求后要做出的响应。想知道response有哪些属性,可以查看 “http.response属性整合”
语法:
由于该方法属于http模块,使用前需要引入http模块var http= require(“http”);
function onRequest(req,res) {
res.writeHead(200, {'Content-type' : 'text/html'});
res.write('<h1>Node.js</h1>');
res.end('<p>Hello World</p>');
}
http.createServer(onRequest).listen(8888);
以上是原生的创建服务器程序。下面来试一下用express创建一个简单的应用。
第一种方法:利用express模块创建
var express = require(‘express’);
var app = express();
app.listen(8888);
第二种方法:利用http模块创建
var express = require(‘express’);
var http = require(‘http’);
var app = express();
http.createServer(app).listen(80);
两者的区别是:
第一种只能使用app使用express的属性和方法。
第二种不但可以使用express的属性和方法,而且还可以使用Http的属性和方法。
附上app的源码可能会更容易理解:
createServer 方法说明:
该函数用来创建一个HTTP服务器,并将 onRequest 作为 request 事件的监听函数。
也就是说,当用户请求http服务器时,用户会像服务器发送一个 onRequest函数。并且函数会传递两个参数
接收参数:
request 请求对象,想知道req有哪些属性,可以查看 “http.request 属性整合”。
response 响应对象 ,收到请求后要做出的响应。想知道response有哪些属性,可以查看 “http.response属性整合”
语法:
由于该方法属于http模块,使用前需要引入http模块var http= require(“http”);
function onRequest(req,res) {
res.writeHead(200, {'Content-type' : 'text/html'});
res.write('<h1>Node.js</h1>');
res.end('<p>Hello World</p>');
}
http.createServer(onRequest).listen(8888);
以上是原生的创建服务器程序。下面来试一下用express创建一个简单的应用。
第一种方法:利用express模块创建
var express = require(‘express’);
var app = express();
app.listen(8888);
第二种方法:利用http模块创建
var express = require(‘express’);
var http = require(‘http’);
var app = express();
http.createServer(app).listen(80);
两者的区别是:
第一种只能使用app使用express的属性和方法。
第二种不但可以使用express的属性和方法,而且还可以使用Http的属性和方法。
附上app的源码可能会更容易理解:
app.listen = function(){ var server = http.createServer(< 4000 /span>this); return server.listen.apply(server, arguments); };
相关文章推荐
- Node log4js
- LeetCode 237. Delete Node in a Linked List
- LeetCode 24. Swap Nodes in Pairs
- nodejs安装express遇到的坑
- Nodejs使用mailer发送邮件(未测试)
- Keep a node.js server up with Forever
- 建议直接从inode 获取设备号
- nodejs与Sublime相结合
- Node.js:全局对象
- Node.js 上传文件formidable时使用fs.renameSync报错
- 在腾讯云(windows)上搭建node.js服务器
- inode获取设备号
- webstorm中配置nodejs环境及npm
- Node.js:回调函数
- Node.js:模块
- Node.js:包
- pat 1115 Counting Nodes in a BST (30)
- nodejs 记入
- [leetcode] Swap Nodes in Pairs
- LeetCode 19. Remove Nth Node From End of List