一、版本升级

   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;
}
})

node.js ejs的视图模块引擎相关推荐

  1. 如何在Node JS中卸载NPM模块?

    本文翻译自:How to uninstall npm modules in node js? As commonly known, any npm module can be installed by ...

  2. [Node.js] 模块化 -- path路径模块

    路径问题 nodejs中相对路径,相对的是运行这个node文件的小黑框的路径而言的. 相关变量 __dirname 获取的是当前这个文件所在的这个文件夹的绝对路径 __filename 拿到的是当前这 ...

  3. 详解Node.js API系列 Module模块(2) 案例分析

    API文档是枯燥的,下面本人收集了一些论坛经常有人疑问和开源代码中经常遇到的案例供大家研究一下. http://blog.whattoc.com/2013/09/11/nodejs_api_modul ...

  4. Node.js中的child_process模块详解

    本文主要给大家介绍了关于Node.js中child_process模块的相关内容,在介绍child_process模块之前,先来看一个例子. const http = require('http'); ...

  5. SAP Spartacus 服务器端渲染模式下,在 Node.js 服务器端渲染视图的单步调试

    入口:在 express-engine.js 文件的 render 函数设置断点: 进入 platform-server.js: 这个文件就是 SAP Spartacus 开启服务器端渲染之后,pac ...

  6. 用 Node.js 写一个多人游戏服务器引擎

    英文原文:https://www.smashingmagazine.com/2018/12/multiplayer-text-adventure-engine-node-js/ 摘要 听说过文字冒险游 ...

  7. 用 Node.js 写一个多人游戏服务器引擎 1

    翻译:疯狂的技术宅 原文: https://www.smashingmagazine.... 本文首发微信公众号:jingchengyideng 欢迎关注,每天都给你推送新鲜的前端技术文章 摘要 听说 ...

  8. [Node.js] 模块化 -- http服务器模块

    使用http模块创建一个服务器 1.导入http模块 2.创建一个服务器 3.设置返回给用户看的内容 4.开启服务器 //使用内置模块http来创建一个服务器//1.导入http模块 const ht ...

  9. Node.js:fs文件模块的替代品fs-extra

    fs extra添加了本机fs模块中不包含的文件系统方法,并向fs方法添加了promise支持.它还使用优雅的fs来防止EMFILE错误.它应该是fs的替代品.(来自:百度翻译) 文档: npmjs: ...

最新文章

  1. cstatic 不调用onpaint_干货 | U盘中毒?不可能的事
  2. [codevs 1906] 最长递增子序列问题
  3. ug中文字大小设置_UG与AutoCAD的数据转换,原来还有这么简单的方法
  4. Creative Cloud启动不了
  5. I.MX6 ifconfig: SIOCSIFHWADDR: Cannot assign requested address
  6. 自定义char类型字段
  7. 恩山斐讯论坛k2p_K2P A1 A2 路由器刷机教程 最详细教程,适合新手!
  8. Linus ,扎克伯格,雷军等巨佬的办公桌
  9. UltraLAB台式图形工作站(地球最快~超级图形工作站Alpha720介绍)
  10. 2022双非计算机保研经验(西电,北邮,厦大,浙软)
  11. 成都榆熙电子商务有限公司:拼多多商家如何剖析用户数据?
  12. secureCRT是什么
  13. 美联致美-脂嵌魔鬼身材,脂肪搬家搬出好身材
  14. py实现外星人入侵(二次开发)——3.随机生成外星人和方向
  15. 程序员不能忍996了!发起抗议网站,GitHub一小时破千星
  16. SDWebImage 图片加载失败
  17. javascript基础复习之函数,定时器,erval函数
  18. interpersonal skill training
  19. Python程序设计实验——3.检测手机号真实性
  20. 态势丨黑客侵扰加剧,靶场为网络安全架设“防御盾”

热门文章

  1. 经典逻辑编程题(本文用python实现)
  2. 敏捷软件开发宣言ndash;Manifesto for Agile Software Development
  3. 通域消化内镜Android患者版,市中心医院消化内科Ⅰ病区开创超声内镜治疗新领域...
  4. JAVA入门级教学之(接口)
  5. JAVA入门级教学之(封装)
  6. graphics 位深度_热门上海乐家人才公寓深度解析又是一个神
  7. 电信计算机知识考试,2020中国电信考试试题——专业知识一
  8. mac 爱普生打印机驱动_高效打印企业首选 爱普生M2178黑白多功能一体机评测
  9. 大顶堆删除最大值_C++|使用STL算法创建、调整、输出最大堆、最小堆
  10. 你想成为Java架构师吗?掌握这六项就够了!