在之前的例子中已经写了一个简单的使用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 将数据发送给服务器
(还没完成 )