express学习笔记

1、 安装应用生成器npm install express-generator –g
2、 生成项目Express --view=ejs myapp
3、 进入项目安装依赖包 npm install
4、 运行 npm start

项目目录介绍:

Bin:项目运行创建服务的目录www项目入口文件
Public:静态资源目录
Routes:路由文件
Views:模板文件目录
App.js:项目各项配置文件

路由

使用路由前引入express 并调用express.Router()
var express = require(‘express’);
var router = express.Router();

1、 get路由

router.get(“路径”,function(req,res,next){
//req—>请求
//res—>响应
})

2、 post路由

router.post(“路径”,function(req,res,next){
//req—>请求
//res—>响应
})

3、 all路由既可以监听到get也可以监听到post

router.all(“路径”,function(req,res,next){
//req—>请求
//res—>响应
})

4、 路由传值得值

传值:
(1) 配置路由动态参数
router.get(‘/usersinfo/:id’,function(req,res,next){})
url http://localhost:3000/userinfo/1
(2)get传值就不用配置路由
url http://localhost:3000/userinfo?id=1
得值:
动态参数得值:req.parmas.xxx
get得值:req.query.xxx

5、 模块化路由

访问不同模块调用不同的路由文件
如:定义一个shops.js的路由文件需要在app.js中引入并挂载
var shopsRouter = require(’./routes/shops’);引入
app.use(’/shops’, shopsRouter);挂载
然后访问shops下面的路由时就如下写法
Localhost:3000/shops/xxxx

热更新

Express使用nodemon实现热更新
1、 安装 npm install --save-dev nodemon
2、 在package.json中的scripts中配置运行项即可
3、 “scripts”: {
4、 “start”: “nodemon ./bin/www”
5、 }

Ejs模板引擎

1、 express渲染ejs模板

使用res.render渲染模板
Res.render(‘模板名称’,传递的参数)
var obj = {
title:“第一个express项目”,
student:[“小明”,“小李”,“小王”,“小赵”,“小杨”,“杜紫藤”],
age:18
}
res.render(“index”,obj);

2、 模板语法

<% ‘脚本’ 标签,用于流程控制,无输出。
<%_ 删除其前面的空格符
<%= 输出数据到模板(输出是转义 HTML 标签)
<%- 输出非转义的数据到模板
<%# 注释标签,不执行、不输出内容
<%% 输出字符串 ‘<%’
%> 一般结束标签
-%> 删除紧随其后的换行符
_%> 将结束标签后面的空格符删除
输出<%= title %>
判断<%if(age>=18){%>

你已经成年了可以去网吧了开心不?


<%}%>
循环<%for(var i =0;i<student.length;i++){%>
  • <%=student[i]%>

  • <%}%>

    Application:

    1、 app.locals: 对象的属性是应用程序中的局部变量。
    // app.locals.title = ‘My App’;
    // app.locals.email = ‘me@myapp.com’;
    // console.log(app.locals.title);
    2、 app.mountpath: 包含一个或多个装载子应用程序的路径模式
    3、 app.all此方法与标准的app.method()方法类似,只是它匹配所有http动词。

    Request

    1、 req.body用于获取post提交过来的数据req.body.xxx
    2、 req.cookies用于获取cookie值req.cookies.xxx
    3、 req.hostname:主机名
    4、 req.ip:ip地址
    5、 req.method:得到请求方式
    6、 req.params:获取动态路由参数
    7、 req.query获取get请求参数

    Response

    1、 res.cookie()设置cookie值 res.cookie(“key”,”val”,{opt})
    2、 res. clearCookie()根据传递的cookie名称清除cookie
    3、 res.download()根据传递的路径下载文件
    4、 res.json()生成一条json格式的数据并发送
    res.status(code).json()发送一条带有状态码的json数据
    5、 res.jsonp()同上
    6、

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值