美文网首页
Express 概述(一)

Express 概述(一)

作者: simuty | 来源:发表于2016-11-08 10:18 被阅读225次

    Express是目前最流行的基于Node.js的Web开发框架,可以快速地搭建一个完整功能的网站。

    Express 是一个自身功能极简,完全是由路由中间件构成一个的 web 开发框架:从本质上来说,一个 Express 应用就是在调用各种中间件。

    路由的功能是根据请求路径和请求方法来处理特定的请求,而中间件则作用于全部请求。

    1. 中间件(Middleware)是一个函数,中间件是一种功能的封装方式,具体来说就是封装在程序中处理HTTP 请求的功能。
    2. 路由: 是指如何定义应用的端点(URIs)以及如何响应客户端的请求。
    
    

    如何理解中间件

    中间件是在管道中执行的。你可以想象一个送水的真实管道。水从一端泵入,然后在到达目的地之前还会经过各种仪表和阀门。这个比喻中很重要的一部分是顺序问题,你把压力表放在阀门之前和之后的效果是不同的。同样,如果你有个向水中注入什么东西的阀门,这个阀门“下游”的所有东西都会含有这个新添加的原料。在Express程序中,通过调用app.use 向管道中插入中间件。
    
    
    安装express
    $ npm init
    #创建 package.json文件
    #中间省略选项步骤
    $ npm install express --sava #安装 Express 并将其保存到依赖列表中:
    #$ npm install express #只是临时安装 Express,不想将它添加到依赖列表中,
    
    

    接着就可以直接引用express模块, 但是我们可以使用生成器工具来快速创建一个应用的骨架。

    1.安装 Express
    在工程的目录下 使用本地模式安装这个包,如果要通过命令行调用这个包中的命令,则需要用全局模式安装,按理说本地模式就够了, 但是我们在这里采用全局模式;<Express等都提供了 Quick Start(快 开始)工具,这个工具的功能通常 是建一个网站最小的基础框架,在此基础上完成开发。>

    #安装 Express
    $ sudo npm install -g express-generator
    
    

    stackoverflow

    #建网站基本结构:
    $ express project
    .
    .
     create : project/bin
     create : project/bin/www
     
    #下载依赖
     install dependencies:
         $ cd project && npm install
    #运行
       run the app:
         $ DEBUG=project:* npm start
    -------------
              
    #检查前目录下的 package.json,并自动安装所有指定的模块  
    $ cd project && npm install
    
    #用 Express 实现的网站实际上就是一个 Node.js 程序, 启动服务器
     $ DEBUG=project:* npm start
      .
      .
      project:server Listening on port 3000 +0ms
      
    

    打开浏览器http://localhost:3000, 会看到如下图:

    关闭服务器 CMD + C

    目录结构

    .
    ├── app.js          #  启动文件
    ├── bin             #  存放可执行文件
    │   └── www
    ├── node_modules    #  存储工程信息及模块依赖
    ├── package.json    #  存放package.json中安装的模块,添加依赖的模块并安装后,存放在这个文件夹下
    ├── public          #  存放image、css、js等文件
    │   ├── images
    │   ├── javascripts
    │   └── stylesheets
    │       └── style.css
    ├── routes          #  存放路由文件
    │   ├── index.js
    │   └── users.js
    └── views           #  存放视图文件
        ├── error.jade
        ├── index.jade
        └── layout.jade
    
    

    发送网络请求, 在浏览器中看到欢迎界面时, 中间发生了什么?

    第一步:访问 http://localhost:3000,会发送以下请求:

    GET / HTTP/1.1
    Host: localhost:3000
    Connection: keep-alive
    Cache-Control: max-age=0
    User-Agent: Mozilla/5.0 AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.142
    Safari/535.19
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding: gzip,deflate,sdch
    Accept-Language: zh;q=0.8,en-US;q=0.6,en;q=0.4
    Accept-Charset: UTF-8,*;q=0.5
    
    

    浏览器发送请求,由路由控制器接受,根据不同的路由定向到不同的控制器。控制器处理用户的具体请求,可能会访问数据库中的对象,即模板部分。控制器还要访问模板引擎,生成视图的 HTML,最后再由控制器返回给浏览器,完成一次请求。

    问题 Error: Cannot find module 'express' 解决办法

    $ npm install express -g
    # 只是说可以require, 但要想在terminal下用express生成project,
    还需要
    $ npm install -g express-generator
    
    #在使用的时候需要单独安装: npm install  express
    

    参考链接
    body-parser
    jade
    中间件
    Express学习笔记-快速开始

    更多精彩内容请关注“IT实战联盟”哦~~~


    IT实战联盟.jpg

    相关文章

      网友评论

          本文标题:Express 概述(一)

          本文链接:https://www.haomeiwen.com/subject/vwjauttx.html