zoukankan      html  css  js  c++  java
  • express小记


    >全局安装方法 `npm install -g express`
    >cmd切换到你想要放得目录,`express -t ejs blog` 这样就可以生成一个blog文件夹
    >还需要进入blog文件夹 运行`npm install` 会自动查找package.json 安装需要的模块
    >默认jade模板,但是难度高,ejs模块比较容易上手

    blogs下有几个文件夹:

    - routes 路由文件夹 相当于控制器
    - views ejs模板文件夹 相当于视图
    - public 一些css js前端文件资源


    ####app.js

    **app.set 是 Express 的参数设置工具,接受一个键(key)和一个值(value)**

    - view engine:视图模板引擎
    - views:视图文件的目录,存放模板文件。
    - case sensitive routes:路径区分大小写。
    - strict routing:严格路径,启用后不会忽略路径末尾的“ / ”。
    - jsonp callback:开启透明的 JSONP 支持。
    - basepath:基础地址,通常用于 res.redirect() 跳转。

    **Express依赖connect,可以通过app.use启用**

    - bodyParser 的功能是解析客户端请求,通常是通过 POST 发送的内容
    - methodOverride 用于支持定制的 HTTP 方法
    - router 是项目的路由支持。
    - static 提供了静态文件支持。
    - errorHandler 是错误控制器

    app.get('/', routes.index); 是一个路由控制器,用户如果访问“ / ”路径,则由 routes.index 来控制。

    ####routes/index.js
    exports.index = function(req, res){
    res.render('index', { title: 'Express' });
    };

    routes/index.js 是个路由控制器

    >app.js 中通过 app.get('/', routes.index); 将“ / ”路径映射到 exports.index 函数下。然后由index.js来依据不同的路径给出响应。

    >res.render('index', { title: 'Express' }),功能是调用模板解析引擎,翻译名为 index的模板,并传入一个对象作为参数,这个对象只有一个属性,即 title: 'Express'。

    ####views/index.ejs

    index.ejs 是模板文件,即 routes/index.js 中调用的模板


    ###REST 风格的路由规则
    >我们经常用到的是 GET、POST、PUT 和 DELETE 方法。根据 REST 设计模式,这4种方法通常分别用于实现以下功能。

    1. GET:获取

    2. POST:新增

    3. PUT:更新

    4. DELETE:删除

    ###Express 支持的 HTTP 请求的绑定函数

    + GET app.get(path, callback)
    + POST app.post(path, callback)
    + PUT app.put(path, callback)
    + DELETE app.delete(path, callback)
    + PATCH① app.patch(path, callback)
    + TRACE app.trace(path, callback)
    + CONNECT app.connect(path, callback)
    + OPTIONS app.options(path, callback)
    + 所有方法 app.all(path, callback)

    ###控制权转移

    利用app.all可以讲控制权转移给下个规则
    app.all('/user/:username', function(req, res, next) {
    console.log('all methods captured');
    next();
    });
    app.get('/user/:username', function(req, res) {
    res.send('user: ' + req.params.username);
    });

    ### ejs模板引擎

    //设置模板引擎
    app.set('views', __dirname + '/views');
    app.set('view engine', 'ejs');
    //在 路由中启用模板引擎
    res.render('index', { title: 'Express' });

    ejs标签比较简单 只有3中格式

    - <% code %>:JavaScript 代码。
    - <%= code %>:显示替换过 HTML 特殊字符的内容。
    - <%- code %>:显示原始 HTML 内容。

    Now or nerver .
  • 相关阅读:
    理解和应用队列机制
    Visual Studio for Mac第四预
    宇宙第一开发工具
    Visual Studio 2017
    Vue开源
    Redux 和 ngrx 创建更佳的 Angular 2
    Redis缓存用起来
    C#6
    spring声明式事务 同一类内方法调用事务失效
    Spring事务管理--多个ORM框架在使用时的情况分析
  • 原文地址:https://www.cnblogs.com/iyueyao/p/3344448.html
Copyright © 2011-2022 走看看