zoukankan      html  css  js  c++  java
  • 翻译express

    Application

    app 对象通常用来表示Express程序。通过调用最顶层的express()方法创建

    var express = require('express');
    var app = express();
    
    app.get('/', function(req, res){
      res.send('hello world');
    });
    
    app.listen(3000);

    app对象有以下这些方法:

    分发http请求,看以下例子,app方法和参数

    配置中间件,详见app.route

    渲染html视图,详情见app.render

    注册一个模板引擎,详情见app.engine

    它也有设置(特性)可以影响程序如何去表现;获取更多的信息,看程序的设置项

    性能:

    app.locals()

    app.locals()对象是JavaScript的对象,它的特性的在这个程序的本地变量。

    app.locals.title
    // => 'My App'
    
    app.locals.email
    // => 'me@myapp.com'

    一旦设置,app.locals的值特性会保持和贯穿在应用程序的整个生命周期,在与res.locals (只在请求的时候有效)对比。

    在程序中你可以接受被渲染的模板中的本地变量。这对于提供辅助函数模板,还有app层次上的data,但是你不可以在中间件接受本地变量。

    app.locals.title = 'My App';
    app.locals.strftime = require('strftime');
    app.locals.email = 'me@myapp.com';

    app.mountpath

    app.mountpath的特性是一个子app被嵌入的路径模式

    一个子app是express的实例,可以用来处理路由的请求。

    var express = require('express');
    
    var app = express(); // the main app
    var admin = express(); // the sub app
    
    admin.get('/', function (req, res) {
      console.log(admin.mountpath); // /admin
      res.send('Admin Homepage');
    })
    
    app.use('/admin', admin); // mount the sub app

    它跟baseUrl中的req对象特性很类似,除了req之外,baseUrl还返回一个匹配的URL路径而不是一个匹配的模式。

    如果一个子app被嵌套在了多重的路径模式中,那么app.mountpath会返回被嵌套的列表,就像是下面例子那样。

    var admin = express();
    
    admin.get('/', function (req, res) {
      console.log(admin.mountpath); // [ '/adm*n', '/manager' ]
      res.send('Admin Homepage');
    })
    
    var secret = express();
    secret.get('/', function (req, res) {
      console.log(secret.mountpath); // /secr*t
      res.send('Admin Secret');
    });
    
    admin.use('/secr*t', secret); // load the 'secret' router on '/secr*t', on the 'admin' sub app
    app.use(['/adm*n', '/manager'], admin); // load the 'admin' router on '/adm*n' and '/manager', on the parent app

    Events

    app.on('mount', callback(parent))

     mount事件会发生在子app嵌套在父app中时发生,父app对象会被传递在callbck函数中。

    var admin = express();
    
    admin.on('mount', function (parent) {
      console.log('Admin Mounted');
      console.log(parent); // refers to the parent app
    });
    
    admin.get('/', function (req, res) {
      res.send('Admin Homepage');
    });
    
    app.use('/admin', admin);
  • 相关阅读:
    HTML常用标签(自用,可能不严谨,勿怪)
    Nginx负载均衡和反向代理设置
    Django的列表反序
    Python装饰器通用样式
    WCF、Web API、WCF REST、Web Service的区别
    C++11 标准新特性: 右值引用与转移语义
    在windows下vs使用pthread
    部分浏览器记住密码后可能会带来的问题
    SQL Server、 My SQL、PG Sql、Oracle、 Access 不同数据库sql差异
    sql中select语句的逻辑执行顺序
  • 原文地址:https://www.cnblogs.com/obeing/p/5543523.html
Copyright © 2011-2022 走看看