您的位置:首页 > 其它

(三)、Express 路由、静态文件、

2015-12-03 20:49 274 查看
一、路由 

 路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET、POST 等)组成的,涉及到应用如何响应客户端对某个网站节点的访问。

每一个路由都可以有一个或者多个处理器函数,当匹配到路由时,这个/些函数将被执行。

  创建一个一个命名为
app
express
实例:


  路由的定义由如下结构组成:
app.METHOD(PATH, HANDLER)
。其中,

    app
是一个
express
实例;

    
METHOD[/code] 是某个 HTTP 请求方式中的一个;

    
PATH[/code] 是服务器端的路径;

    
HANDLER[/code] 是当路由匹配到时需要执行的函数。

  下面的代码展示了几个路由实例:

// 对网站首页的访问返回 "Hello World!" 字样
app.get('/', function (req, res) {
res.send('Hello World!');
});

// 网站首页接受 POST 请求
app.post('/', function (req, res) {
res.send('Got a POST request');
});

// /user 节点接受 PUT 请求
app.put('/user', function (req, res) {
res.send('Got a PUT request at /user');
});

// /user 节点接受 DELETE 请求
app.delete('/user', function (req, res) {
res.send('Got a DELETE request at /user');
})


二、静态文件

  通过 Express 内置的
express.static
可以方便地托管静态文件,例如图片、CSS、JavaScript 文件等。

  将静态资源文件所在的目录作为参数传递给
express.static
中间件就可以提供静态资源文件的访问了。例如,假设在
public
目录放置了图片、CSS 和 JavaScript 文件,你就可以:

app.use(express.static('public'));


现在,
public
目录下面的文件就可以访问了。

http://localhost:3000/images/kitten.jpg http://localhost:3000/css/style.css http://localhost:3000/js/app.js http://localhost:3000/images/bg.png http://localhost:3000/hello.html


所有文件的路径都是相对于存放目录的,因此,存放静态文件的目录名不会出现在 URL 中。
如果你的静态资源存放在多个目录下面,你可以多次调用
express.static
中间件:

app.use(express.static('public'));app.use(express.static('files'));


访问静态资源文件时,
express.static
中间件会根据目录添加的顺序查找所需的文件。

如果你希望所有通过
express.static
访问的文件都存放在一个“虚拟(virtual)”目录(即目录根本不存在)下面,可以通过为静态资源目录指定一个挂载路径的方式来实现,如下所示:

app.use('/static', express.static('public'));


现在,你就可以通过带有 “/static” 前缀的地址来访问
public
目录下面的文件了。

http://localhost:3000/static/images/kitten.jpg http://localhost:3000/static/css/style.css http://localhost:3000/static/js/app.js http://localhost:3000/static/images/bg.png http://localhost:3000/static/hello.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: