首页 > 其他 > 详细

node框架express基础

时间:2019-03-14 17:12:14      阅读:158      评论:0      收藏:0      [点我收藏+]

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"}

 

node框架express基础

原文:https://www.cnblogs.com/ddjps/p/10531459.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!