node.js ejs的视图模块引擎

一、版本升级

   Express从2.0升级到3.0,将ejs的用法忽略,改为用户自定义形式。
引入ejs/index.js的模块,来支持ejs的模版引擎

二、引入引擎的模块,然后在app中调用engine函数改造ejs引擎

app.engine('ejs', engine);
将layout.ejs设置成默认的布局模版
app.locals._layoutFile='layout'
三、如果项目分前后台,那么只有一个布局模版,怎么办?
        res.render('pcat',{_layoutFile:'pcatlayout'});//调用模版引擎的时候指定模版

四、片段视图

Express的视图系统还支持片段视图,它就是一个页面的片段,通常是重复的内容,用于迭代显示,通过它你可以将相对独立的页面块分割出去,而且可以避免显示的使用for循环。
partial是一个可以在视图中使用的函数,它接受两个参数,第一个是片段视图的名称,第二个可以是一个对象或一个数组,如果是一个对象,那么片段视图上下文变量引用的就是这个变量,如果是一个数组,那么其中每个元素一次被迭代应用到片段视图。片段视图中上下文变量名就是视图文件名。
list.ejs   listitem.ejs

   五、视图助手。

允许在视图中访问一个全局的函数或对象,不用每次调用视图解析的时候单独传入,
视图助手分为两类,分别是静态视图助手和动态视图助手,这两者的差别在于,静态视图注助手可以是任何类型的对象,包括接受任意参数的函数,但访问到的对象必须是用户请求无关的。而动态视图助手只能是一个函数。这个函数不能接受任何参数,但是可以访问req和res两个对象。

        静态视图助手:                

app.locals({
inspect:function(obj){
return util.inspect(obj,true)+"    解析成功";
}
})

        动态视图助手:

res.locals({
headers:function(req,res){
return req.headers;
}
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/509915.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文本文件和二进制文件的区别

广义的二进制文件即指文件,由文件在外部设备的存放形式为二进制而得名。狭义的二进制文件即除文本文件以外的文件。文本文件是一种由很多行字符构成的计算机文件。文本文件存在于计算机系统中,通常在文本文件最后一行放置文件结束标志。文本文件的编码基…

Kerberos Hbase Api 操作

初始化连接加载配置参数,这里只创建连接,具体操作hbase的api没有变化 static { try{ Configuration conf HBaseConfiguration.create();conf.addResource(new Path("config/hbase-site.xml"));//读取配置文件conf.set("hadoop.securi…

ndoe.js实战之开发微博第一讲之工具准备

内容:搭建开发环境和视图制作。一、创建项目 1.express ejs blog 创建项目cd blog 进入项目npm install 加入包的依赖2.加入ejs视图模版引擎支持加入文件 expand_modules/ejs/index.jsvar enginerequire("./expand_modules/ejs");在app中改造引擎app.e…

MySql索引的原理

数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B树。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用&#xff08…

SparkStreaming 异常:java.lang.NoSuchMethodError: scala.Predef scope()Lscala/xml/TopScope

SparkStreaming运行报错 19/05/05 22:35:18 INFO SparkEnv: Registering OutputCommitCoordinator Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.$scope()Lscala/xml/TopScope$;at org.apache.spark.ui.jobs.AllJobsPage.<init>(…

node.js微博案例第二讲

一、mongodb数据库安装 1.安装包下载&#xff1a;http://www.mongodb.org/downloads2.开始安装解压放入D:\Program Files\目录下。(推荐文件名为mongodb)创建Data、log和Data/db文件夹将mongodb的数据库文件D:\Program Files\mongodb\data\db目录下执行命令&#xff1a…

Spark提交 指定 kerberos 认证信息

spark-submit --principal hdfs/hostnamejast.COM --keytab hdfs-hostname.keytab --jars $(echo lib/*.jar | tr ,) --class com.jast.test.Test test.jar

mongodb数据库常用指令

详细安装看我文章http://blog.csdn.net/dreamzuora/article/details/78877898打开在bin目录下mongo.exe来操作数据库常用命令&#xff1a;show dbs //查看所有库use blog 使用指定的库show collections 查看所有的文档db.表名.find() 查询指定文档的数据db.表名.insert({…

二叉树遍历解析

1 / \ 2 3 / \ / \ 4 5 6 7 当你拿到一棵二叉树&#xff0c;无论它的形状如何的千奇百怪 我们都可以将它按照如下的方式划分根/ \ 左子树 右子树 一棵有很多个节点的二叉树可以划分为以上的形式 也可以这么…

Hadoop Kerberos 认证下 Sentry 安装 + Sentry 权限设置使用

目录 一、安装Sentry &#xff11;.&#xff2d;ariaDB中创建sentry数据库 2.CDH中添加sentry 服务 3.hive配置 启动Sentry 4.Impala配置 启动Sentry 5.Hue配置 启动Sentry 6.Hdfs配置 启动Sentry 7.重启服务&#xff0c;使配置生效 二、Sentry权限测试 1.创建hive超…

数据结构与算法的联系

首先,数据结构是一门计算机语言学的基础学科&#xff0c;它不属于任何一门语言&#xff0c;其体现的是几乎所有标准语言的算法的思想。 上面的概念有一些模糊&#xff0c;我们现在来具体说一说&#xff0c;相信你门的数据结构使用的是一门具体的语言比如C/C语言来说明&#xff…

mongodb最详细的安装与配置

今天晚上才装好&#xff0c;我觉得有必要写这篇文章给你们分享一下 我是看点击打开链接这位博主的文章才装好的其中我想引用里面内容从头到尾来给你们 分享一下流程 第一步&#xff1a;下载mongodb https://www.mongodb.com/download-center#community 第二步&#xff1a;m…

Impala-shell 启动异常 - Python版本为3.x 启动脚本为2.x

启动 Impala-shell 报错如下 [rootxxx ~]# impala-shellFile "/opt/cloudera/parcels/CDH-5.13.0-1.cdh5.13.0.p0.29/bin/../lib/impala-shell/impala_shell.py", line 222print \tNo options available.^ SyntaxError: Missing parentheses in call to print发现语…

C++面试题(八)

客观题 (1)大端、小端问题&#xff0c;以共用体示例代码给出 假设计算机的CPU是Intel 32位的&#xff0c;以下代码输出结果是什么&#xff1f; [cpp] view plaincopy #include<stdio.h> union ut { short s; char ch[2]; }u; int main() { …

基于 Sentry Hive 权限控制命令详解

Sentry不支持Hive CLI列权限管理&#xff0c;建议禁用Hive CLI。 &#xff08;也不支持SparkSql列权限管理&#xff09; #权限分为 SELECT ,INSERT ,ALL #查看所有role show roles;#创建role create role role_name;#删除role drop role role_name; #将某个数据库读权限授予…

mongodb学习笔记之增删改查作指令

1: mongo入门命令 1.1: show dbs 查看当前的数据库 1.2 use databaseName 选库 1.2 show tables/collections 查看当前库下的collection 1.3 如何创建库? Mongodb的库是隐式创建,你可以use 一个不存在的库 然后在该库下创建collection,即可创建库 1.4 db.createCollectio…

Spark 报错 : Error: bad symbolic reference. A signature in SparkContext.class refers to term conf

报错如下&#xff1a; Error:scalac: Error: bad symbolic reference. A signature in SparkContext.class refers to term conf in package org.apache.hadoop which is not available. It may be completely missing from the current classpath, or the version on the cl…

怎么写出靠谱的简历

著 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。作者&#xff1a;王亞暉链接&#xff1a;http://www.zhihu.com/question/25002833/answer/35426774来源&#xff1a;知乎第一部分&#xff1a;基本信息。必须有的&#xff1a;名字、联系方式…

vue.js安装与配置

我们在前端学习中&#xff0c;学会了HTML、CSS、JS之后一般会选择学习一些框架&#xff0c;比如Jquery、AngularJs等。这个系列的博文是针对于学习Vue.js的同学展开的。 1.如何简单地使用Vue.js 如同以前我们学过的Jquery一样&#xff0c;我们在程序中使用Vue.js时也可以使用直…

简历模板

先讲讲怎样才是一份好的技术简历 首先&#xff0c;一份好的简历不光说明事实&#xff0c;更通过FAB模式来增强其说服力。 Feature&#xff1a;是什么Advantage&#xff1a;比别人好在哪些地方Benefit&#xff1a;如果雇佣你&#xff0c;招聘方会得到什么好处 其次&#xff0c;…