zoukankan      html  css  js  c++  java
  • 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){%>

              <p>你已经成年了可以去网吧了开心不?</p>

          <%}%>

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

            <li><%=student[i]%></li>

          <%}%>

    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()同上

    Sql语句

    1. 插入:insert  into  表名 ( 字段1, 字段2,...字段N) values( value1, value2,...valueN );
    2. 查询:SELECT  字段1,字段1(*查询所有字段) from 表名 where 字段=3;
    3. select 表1.字段1, 表1. 字段2,表2. 字段2 from表1, 表2 where表1. 字段=表2. 字段;
    4. 查询排序:

    升序:SELECT * from 表名 ORDER BY 字段 ASC;

    降序:SELECT * from 表名 ORDER BY 字段 DESC;

    1. 更新:update 表名 set 字段1=新值1, 字段2=新值2  where 字段=3;
    2. 删除:delete  from 表名 where 字段=3;

    跨域:

    res.header('Access-Control-Allow-Origin', '*');

      res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With');

      res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');

  • 相关阅读:
    2018年度总结
    SQL特殊comment语法
    mysql 主从复制change master to
    mysql 主从复制参数slave_net_timeout
    show master status, show slave status中的Executed_Gtid_Set
    mysql重复start slave、stop slave测试
    golang database sql DSN (Data Source Name)中的timeout, readTimeout
    mysql show master status为空值
    Linux 建立 TCP 连接的超时时间分析(解惑)
    golang 原子操作函数
  • 原文地址:https://www.cnblogs.com/xiaozhou223/p/11810887.html
Copyright © 2011-2022 走看看