Node.js的express框架

来源:互联网 发布:对淘宝美工课的认知 编辑:程序博客网 时间:2024/05/18 03:07

Express简介

Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。
使用 Express 可以快速地搭建一个完整功能的网站。
Express 框架核心特性:

  1. 可以设置中间件来响应 HTTP 请求。
  2. 定义了路由表用于执行不同的 HTTP 请求动作。
  3. 可以通过向模板传递参数来动态渲染 HTML 页面。

Express安装

$npm install express
不详细讲述

第一个Express实例

接下来我们使用 Express 框架来输出 “Hello World”。
以下实例中我们引入了 express 模块,并在客户端发起请求后,响应 “Hello World” 字符串。
创建 express_demo.js 文件,代码如下所示:

//express_demo.js 文件var express = require('express');var app = express();app.get('/', function (req, res) {   res.send('Hello World');});var server = app.listen(8080, function () {  var host = server.address().address;  var port = server.address().port;  console.log("端口为" + port);});

执行以上代码:

$ node express_demo.js端口为8080

在浏览器中访问 localhost:8080,结果如下图所示:
这里写图片描述

路由

路由决定了由谁(指定脚本)去响应客户端请求。
在HTTP请求中,我们可以通过路由提取出请求的URL以及GET/POST参数。
接下来我们扩展 Hello World,添加一些功能来处理更多类型的 HTTP 请求。
创建 express_demo2.js 文件,代码如下所示:

//express_demo2.js 文件var express = require('express');var app = express();//主页输出 Hello Worldapp.get('/', function (req, res) {    console.log("index");    res.send('Hello World');});//详情页app.get('/detail', function (req, res) {    console.log("detail");    res.send('这是详情页');});//列表页app.get('/list', function (req, res) {    console.log("list");    res.send('这是列表页');});//后台页app.get('/admin', function (req, res) {    console.log("admin");    res.send('这是后台页');});var server = app.listen(8080, function () {    var host = server.address().address;    var port = server.address().port;    console.log("端口为" + port);});

执行以上代码:

$ node express_demo2.js端口为8080

接下来你可以尝试访问 localhost:8080 不同的地址,查看效果。
在浏览器中访问 localhost:8080/detail,结果如下图所示:
这里写图片描述
在浏览器中访问 localhost:8080/list,结果如下图所示:
这里写图片描述
在浏览器中访问 localhost:8080/admin,结果如下图所示:
这里写图片描述

引用静态文件

让我们再修改下 “Hello World” 应用添加处理静态文件的功能。
创建 express_demo3.js 文件,代码如下所示:

//express_demo3.js 文件var express = require('express');var app = express();// index.htmlapp.get('/index', function(req, res){    res.sendFile( __dirname + "/" + "index.html");})// detail.htmlapp.get('/detail', function(req, res){    res.sendFile( __dirname + "/" + "detail.html");})// list.htmlapp.get('/list', function(req, res){    res.sendFile( __dirname + "/" + "list.html");})// admin.htmlapp.get('/admin', function(req, res){    res.sendFile( __dirname + "/" + "admin.html");})var server = app.listen(8080, function () {    var host = server.address().address;    var port = server.address().port;    console.log("端口为" + port);});

该博客内容来自:http://www.runoob.com/nodejs/nodejs-express-framework.html
里面有更多更使用的实例。

但我对原文里面的“静态文件”内容没有演示成功,(用app.use(express.static(‘public’)); 就是在浏览器中加载图片),菜鸟中的是对的吗,为什么我不行,望广大博友指教。

原创粉丝点击