zoukankan      html  css  js  c++  java
  • 部分常用Express方法详解

    app.set(name, value)

     分配给name一个value,并将name作为app settings table的一个属性。

    使用app.set('foo', true) 相当于调用 app.enable('foo')。相似的,使用 app.set('foo', false) 相当于调用 app.disable('foo')。

    通过使用app.get()重新得到该值。

    app.set('title', 'My Site');
    app.get('title'); // "My Site"

    app.engine(ext, callback)

    将ext交给回调函数处理,这个回调函数由模板引擎提供。

    默认的,Express会基于文件的扩展名来 require()模板引擎。 比如,如果你渲染 “foo.jade” 文件,Express会在内部调执行下面这些代码,为了提升性能,会缓存require()的结果用于之后的一系列调用。

    app.engine('jade', require('jade').__express);

    如果模板引擎没有提供 .__express方法(这句笔者也不太理解什么意思),或者你希望让模板引擎映射一个和默认不同的扩展,你可以使用app.engine()方法。

    比如说,让EJS模板引擎映射到 “.html” 文件:

    app.engine('html', require('ejs').renderFile);

    这个例子中,EJS提供了一个.renderFile()方法,这个方法符合Express期待的形式:(path, options, callback),于是这个renderFile方法在内部会被化名为  ejs.__express 所以如果你渲染使用'.ejs'文件时你不需要做任何事情,一切都在你看不见的内部解决了。

    有一些模板引擎并不遵守这个约定, consolidate.js 库可以让Node的模板引擎去遵守这一约定,让这些模板引擎可以和Express无缝对接。

    var engines = require('consolidate');
    app.engine('haml', engines.haml);
    app.engine('html', engines.hogan);
  • 相关阅读:
    用C#编写获取远程IP,MAC的方法
    创建 TransactSQL 作业步骤
    S3C2440系统时钟
    C# 跟年月日判断星期几
    嵌入式系统启动例程
    使用HTML5和CSS3来创建幻灯片
    巧解Android时区加载过慢的问题
    HTML5之美
    C#如何取硬件标志
    S3C2440看门狗定时器(Watchdog)
  • 原文地址:https://www.cnblogs.com/A-dam/p/5052705.html
Copyright © 2011-2022 走看看