zoukankan      html  css  js  c++  java
  • node框架express基础

    Express是一个基于Node.js平台的web应用开发框架,在Node.js基础之上扩展了web应用开发所需要的基础功能,从而使得我们开发Web应用更加方便、更加快捷。

    注意:我们用jQuery时,jquery对象和dom对象 方法是不能混用的。但Express中,可以用一些原生node。

    比如在express中用了get方法,res.send 可以写成 res.end。

    不过send中是不需要转成str或者buffer的,并且不区分大小写。

    下载Express

    npm install express --save

    创建一个express应用:

    let express = require("express");
    let app = express();

    模板引擎 ejs/jade 下面使用ejs

    在Express中推荐使用模板引擎

    用前也需要下载  npm install ejs --save

    模板引擎的使用:

    var ejs = require("ejs");
    
    //模板
    var string = "今天星期<%= day %>,天气真好";
    //数据
    var data = {
        day : "三"
    }
    // 数据绑定
    var html = ejs.render(string,data);
    console.log(html); //今天星期三,天气真好

    通过ejs模板:

    1.在后台写好数据

    var express = require("express");
    var app = express();
    //不需要引入ejs、fs、http
    app.set("view engine","ejs");
    
    app.get("/",function(req,res){
        var data = {
            day:"三",
            news:[
                {"title":"haha","num":300},
                {"title":"xixi","num":100},
                {"title":"hehe","num":100},
            ]
        }
        res.render("haha",data)
    })
    app.listen(3000);

    2.创建views文件夹,在views文件夹中创建 haha.ejs 文件

    3.在haha.ejs文件中写模板

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <h1>今天星期<%= day %>,天气真好</h1>
        <ul>
            <%
                for(var i = 0;i < news.length;i++){         
            %>
                <li><%= news[i].title %></li>
                <li><%= news[i].num %></li>
            <%   
                }
            %>
        </ul>
    </body>
    </html>

    模板中语法格式如上。

    在页面中显示结果:

    今天星期三,天气真好

    • haha
    • 300
    • xixi
    • 100
    • hehe
    • 100

    Express中间件

     用中间件中的内置方法static来配置静态伺服

    app.use(express.static(__dirname + '/app'))

    浏览器中访问: http://localhost:3000/ 展示的/app/index.html内容

    浏览器中访问: http://localhost:3000/hello.html 展示的/app/hello.html内容

    中间件基本用法:

    在下面这种情况下,第二个地址永远进不去,因为下面地址的路由满足上面的正则,所以按照代码执行顺序,到上面get方法就停止了。只会显示 用户+编号界面

    var express = require("express");
    var app = express();
    

    app.get("/:username/:id",function(req,res,next){
      res.send("用户+编号界面")
    })
    app.get("/admin/login",function(req,res){ //这个地方永远进不去
      res.send("管理员登录界面")
    })

    app.listen(3000);

    但如果给上面的get方法中加上next()

    app.get("/:username/:id",function(req,res,next){
        next()
    })

    再在/admin/login中显示的就是 管理员登录界面 

    如果在第一个get方法打印1,第二个get方法打印2,则都可以打印出来。

    用Express获取get参数

    var express = require("express");
    var app = express();
    
    app.get("/",function(req,res){
        console.log(req.query);
        res.send("OK")
    })
    
    app.listen(3000)

    原生获取方法:url.parse(req.url,true).query

    用Express获取post参数

    1.设置post请求的请求头

    var bodyParser = require("body-parser");

    app.use(bodyParser.urlencoded({ extended: false }));   //post请求的请求头

    2.在post方法中打印 req.body 即可

    req.body 输出的是 一个对象

    比如 {name:"123456",age:"4156789"}

  • 相关阅读:
    SQL基础学习_03_数据更新
    SQL基础学习_02_查询
    SQL基础学习_01_数据库和表
    HCA数据下载
    Multiclonal Invasion in Breast Tumors Identified by Topographic Single Cell Sequencing
    gg_pie
    ggnetwork
    ggplot2画简单的heatmap
    简单R语言爬虫
    突变数据清洗
  • 原文地址:https://www.cnblogs.com/ddjps/p/10531459.html
Copyright © 2011-2022 走看看