zoukankan      html  css  js  c++  java
  • express框架

    Express

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

    Express 框架核心特性:

    • 可以设置中间件来响应 HTTP 请求。

    • 定义了路由表用于执行不同的 HTTP 请求动作。

    • 可以通过向模板传递参数来动态渲染 HTML 页面

    安装方式分为两种:

      1. npm install 在node.js平台安装 安装后系统自动生成package.json文件

      2. 直接写package.json文件在进行npm install安装

    基本用法:

    //开启服务器
    var express = require('express');
    //当且仅当请求为get 方法 且路径符合时,才会触发相应的路由--也就是触发指定路径的指定方法
    var express = require();
    var app = express();
    app.get('/',function(res,req){
      res.send('Hello world!');
    });
    app.get('/customer',function(res,req){
      res.send('customer pase');
    })
    app.get('/admin',function(){
      res.send('admin page');
    });
    //监听端口号3000
    app.listen(3000);

    中间件

    (1)挂载中间件的函数:app.use

    var http = require('http');
    
    var express = require('express');
    
    var app = express();
    
    使用自定义中间件
    
    app.use('/',function(req , res , next){
    
         console.log(‘这是自定义中间件’)
    
         next();  调用next表示执行后续的中间件代码
    
    });
    
    使用static中间件加载静态资源
    
    app.use('/', express.static(__dirname + "/statics"));
    
    app.get('/index', function(req, res) {
    
        res.send("hello browser")
    
        res.end();
    
    })
    
    http.createServer(app).listen(3000,function(err) {
    
            if(err) throw err;
    
            console.log('服务器连接成功');
    
    })

    (2) 基础中间件介绍

      (1)static静态资源处理中间件

      (2)logger获取浏览器基本信息中间件

      (3)bodyParser通过post方法提交的数据解析中间件

      (4)query通过get方法提交的数据解析中间件

      (5)cookieParser用户状态保存cookie解析中间件

      (6)session启用session管理用户状态中间件

      (7)favicon网站图标处理中间件

    静态文件

    Express 提供了内置的中间件 express.static 来设置静态文件如:图片, CSS, JavaScript 等。

    你可以使用 express.static 中间件来设置静态文件路径。例如,如果你将图片, CSS, JavaScript 文件放在 public 目录下,你可以这么写:

    var express = require('express');
    var app = express();
     
    app.use(express.static('public'));
     
    app.get('/', function (req, res) {
       res.send('Hello World');
    })
     
    var server = app.listen(8081, function () {
     
      var host = server.address().address
      var port = server.address().port
     
      console.log("应用实例,访问地址为 http://%s:%s", host, port)
     
    })

    ejs模板引擎

    简单高效的模板语言,通过数据和模板,可以生成HTML标记文本

    ejs特点:

      (1)快速编译和渲染

      (2)简单的模板标签

      (3)自定义标记分隔符

      (4)文件的包含

      (5)支持浏览器端和服务器端

      (6)模板静态缓存

      (7)支持express视图系统

    ① ejs成员函数

      (1)Render(str,data,[option]):直接渲染字符串生成HTML

        str:需要解析的字符串模板

        data:数据

        [option]:配置选项

      (2)Compile(str ,[option]):编译字符串得到模板函数

        str:需要解析的字符串模板

        [option]:配置选项

        [option]中的相关参数可以查阅文档了解使用方法

    ② ejs常用标签

      (1)<%  %>流程控制标签(中间写语句)

      (2)<%=  %>输出标签(原文输出HTML标签,中间写变量)

      (3)<%-  %>输出标签(HTML会被浏览器解析)

      (4)<%#  %>注释标签

      (5)%对标记转义

      (6)-%>去除没有意义的空格

  • 相关阅读:
    Systemd入门教程:命令篇(转)
    Systemd入门教程:实战篇(转)
    Linux守护进程的启动方法(转)
    Ubuntu 16.04安装Chrome浏览器时提示:N: 忽略‘google-chrome.list.1’(于目录‘/etc/apt/sources.list.d/’),鉴于它的文件扩展名无效
    Ubuntu 16.04使用timedatectl进行管理时间(UTC/CST)(服务器/桌面)
    Ubuntu 16.04没有/etc/default/rcS文件的UTC设置选项的问题解决
    CentOS 6.9系统时间和硬件时间设置(转)
    Ubuntu 16.04使用“从互联网自动获取”时间无法写入硬件BIOS的奇怪问题
    MySQL中in子查询会导致无法使用索引问题(转)
    MySQL性能分析及explain的使用(转)
  • 原文地址:https://www.cnblogs.com/wcx-20151115-hzz/p/10519189.html
Copyright © 2011-2022 走看看