node.js http初探

在之前的例子中已经写了一个简单的使用http模块的例子

var http = require(‘http‘);  //请求http模块

var func = function(req,res) {

res.writeHead(200,{‘Content-Type‘ : ‘text/plain‘});//相应头200 表示正常返回
res.write("node.js")
res.end();

}//web服务器收到请求时的处理函数

var server = http.createServer(func);//创建web服务器对象

server.listen(3000);
console.log("server is on");

下面我们可以在简单的http服务器的基础上添加简单的路由(不同的访问路径),来响应不同的请求

 

var http = require(‘http‘);
var url = require(‘url‘);

http.createServer(function(req,res){

var pathname = url.parse(req.url).pathname;

if(pathname === ‘/‘) {
res.writeHead(200,{‘Content-Type‘ : ‘text-plain‘});
res.end(‘home page‘);

} else if(pathname === ‘/redirect‘) {
res.writeHead(301,{
‘Location‘ : ‘http://www.baidu.com‘
});
res.end();
} else {
res.writeHead(404,{
‘Content-type‘ : ‘text/plain‘
});
res.end(‘page not found‘);
}
}).listen(3000,"127.0.0.1");
console.log(‘server is on‘);

我们能处理3种不同的情况,当正常返回,重定向,找不到页面。node.js为我们封装好了这样添加路由的操作,这个只是让我们理解其中的原理

 

使用express

创建一个基础的express站点

安装express

npm install -g express//-g代表全局安装 全局安装你可以在文件系统任何的位置使用安装的模块 相对于全局安装 本地安装是在项目的一个node_modules的文件夹下安装模块,供该项目使用

通过cmd进入到项目目录 运行 express express_example

进入到express_example目录中 安装express所需要的依赖

项目的目录是这样的

打开app.js文件 在文件的末尾加入下面这句话

表示你可以通过3000端口来访问我们的例子了 (启动服务器)

运行app.js

下面介绍下express自动生成的文件的用途

app.js 是用来启动应用程序的,其中包含应用程序的配置信息

package.json 提供应用程序的信息,包含运行应用程序所需安装的依赖模块(这里涉及到我们到底是在package.json中直接添加依赖模块然后npm install 或者我们手动的一个一个安装模块的区别 推荐直接修改package.json 运行npm install 这样能简化我们的操作,并且其他开发人员也能很好的使用我们的程序)

node_modules 保存package.json中定义并且已经安装的node模块

public

其实查看public的目录就大致可以猜想出它的用途 它能为我们的页面提供资源,样式

routers 这里面定义了路由

view 定义了应用程序的布局(模板,使用模板引擎能使我们通过一个模板展示不同的内容 类似blog每个人的主页,统一管理)

 

在我们生成的项目中添加路由

路由 : 描述应用程序是否以及如何对特定的超文本传输协议请求进行应答

express使用http动词来定义路由,常用的是

GET 从服务器获取数据

POST 将数据发送给服务器

(还没完成 )

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。