zoukankan      html  css  js  c++  java
  • (三)、Express 路由、静态文件、

    一、路由 

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

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

      创建一个一个命名为 appexpress 实例:

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

        app 是一个 express 实例;

        METHOD 是某个 HTTP 请求方式中的一个;

        PATH 是服务器端的路径;

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

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

    // 对网站首页的访问返回 "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
    
  • 相关阅读:
    api接口出现Provisional headers are shown,
    yii消息提示扩展
    php中普通类 接口类 抽象类 浅谈
    读韭菜的自我修养
    读李笑来的《把时间当作朋友》
    Spring整合Struts2框架的第二种方式(Action由Spring框架来创建)(推荐大家来使用的)
    Spring整合Struts2框架的第一种方式(Action由Struts2框架来创建)。在我的上一篇博文中介绍的通过web工厂的方式获取servcie的方法因为太麻烦,所以开发的时候不会使用。
    Spring框架整合Struts2框架的传统方法
    ecplice中代码使用快捷键无法格式化,使用其他方法将代码格式化的步骤
    SSH框架整合jar包时的注意事项
  • 原文地址:https://www.cnblogs.com/hyqing/p/5017582.html
Copyright © 2011-2022 走看看