NodeJS - Express 3.0下ejs模板使用 partial展现 片段视图
如果你也在看Node.js开发指南,如果你也在一步一步实现 microBlog 项目!也许你会遇到本文提到的问题,如果你用的是Express 3.0
本书实例背景是 Express 2.0 而如今升级到 3.0后去掉了一些老的方法也更新了一些新的,所以变化还是蛮大的.
首先上一篇博客提到的一个问题:
如何用Express 3.0 生成一个 ejs 模板项目
前提是你已经下载了ejs包,如何下载,运行cmd 输入 npm install ejs -g
2.0 下的语法是:express -t ejs microblog
3.0下的语法是:express -e ejs microblog (-t已经失效,取而代之的是 -e ,而3.0默认生成的是 jade 模板,此模板作者正是Express作者)
如何用Express 3.0 使用片段视图
就像asp.net里面的用户自定义控件,可以代码重用,相同的视图片段可以直接调用
2.0下的语法是:ejs模板文件里直接这样写 <ul><%- partial(‘listitem’,items) %></ul> partial() 正是调用片段视图函数,接受2个参数,参数一表示模板名,参数二表示出入的对象数据.
3.0下使用相对麻烦点:
此方法在3.0下独立成了一个Express 的插件,所以要提前下载
(1)运行cmd 输入:npm install express-partials -g
(2)下载成功后.在app.js 中引用此插件 var partials = require(‘express-partials’);
(3)然后再开启此插件, 在app.js 中 app.set(‘view engine’, ‘ejs’); 代码后添加如下代码: app.use(partials());
(4)package.json 里 dependencies 配置项添加 ”express-partials”: “*” 注意格式,下面列出 package.json 全部内容
{
"name": "application-name",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node app.js"
},
"dependencies": {
"express": "3.3.4",
"ejs": "*",
"express-partials": "*"
}
}
你可以直接复制上面的内容覆盖 package.json元内容
截止到此处你的Express 3.0下就可以使用 partial 片段视图了.
在view模板文件夹下新建 list.ejs 文件,内容是: <ul><%- partial(‘listitem’,items) %></ul> 和 listitem.ejs 内容是:<li><%= listitem %></li>
然后app.js 里添加一个路由来运行 list 模板创建的html页面.
添加路由控制如下:
app.get('/list',function(req,res){
res.render('list',{title:'List',
items:['xiaoxiao','moke','isoso','webUI']
});
});
保存,运行 app.js ,请求路径:localhost:3000/list
NodeJS - Express 3.0下ejs模板使用 partial展现 片段视图的更多相关文章
- NodeJS - Express 4.0下使用app.dynamicHelpers错误
在NodeJS - Express 4.0下使用app.dynamicHelpers发生错误: app.dynamicHelpers({ ^ TypeError: Object function (r ...
- 在express站点中使用ejs模板引擎
在express站点中使用ejs模板引擎 文/玄魂 目录 在express站点中使用ejs模板引擎 前言 1.1 安装 1.2修改app.js 1.3创建测试页面 前言 使用 vs创建 ...
- NodeJS -Express 4.0 用include取代partial
在Express 4.0 下按如下方法设置: (1)运行cmd 输入:npm install express-partials -g (2)下载成功后.在app.js 中引用此插件 var par ...
- NodeJS - Express 4.0错误:Cannot read property 'Store' of undefined
按着<NodeJS开发指南>里的第五章建立microblog的例子操作,使用node.js 的express框架配置将session存储到mongodb时出错:TypeError: Can ...
- nodejs 返回html页面--使用 ejs 模板
nodejs 可以直接在返回中使用html标签,例如下面的格式,返回 hello world 将会使用 h1 字体. app.get('/html',function(req,res){ res.st ...
- NodeJS 入门第二天(EJS模板)
一.复习 复习:Node.js开发服务器,数据.路由.本地关心的效果,交互: Node.js实际上是极客开发出的一个小玩具,不是银弹.有着别人不具备的怪异特点: 单线程.Non-blocking I/ ...
- Nodejs开发框架Express3.0开发手记–从零开始
转载请注明出处: http://blog.fens.me/nodejs-express3/ 程序代码已经上传到github有需要的同学,自行下载. https://github.com/bsspiri ...
- NodeJS+Express+MongoDB 简单实现数据录入及回显展示【适合新人刚接触学习】
近期在看NodeJS相关 不得不说NodeJS+Express 进行网站开发是很不错,对于喜欢玩JS的来说真是很好的一种Web开发组合 在接触NodeJS时受平时Java或者C#中API接口等开发的思 ...
- 前端笔记之NodeJS(三)Express&ejs模板引擎&请求识别
一.Express框架 1.1基本使用 创建http服务器特别麻烦,express框架解决了这个的问题. Express在node界的地位,就相当于jQuery在DOM界的地位.jQuery的核心就是 ...
随机推荐
- 24 MUST HAVE ESSENTIAL LINUX APPLICATIONS IN 2016
Brief: Whare the must have applications for Linux? The answer is subjective and it depends on for wh ...
- DevExpress使用之ChartControl控件绘制图表(多坐标折线图、柱状图、饼状图)
最近因为公司项目需要用到WinForm的DecExpress控件,在这里把一些使用方法总结一下. DevExpress中有一个专门用来绘制图表的插件ChartControl,可以绘制折线图.饼状图.柱 ...
- 用jquery 实现 超出字符 截断加上省略号并且可以提示全部内容
1.test.jsp Java代码 <%@ page language="java" pageEncoding="UTF-8"%> <html ...
- XAML
XAML定义 XAML是一种相对简单.通用的声明式编程语言,它适合于构建和初始化.NET对象. XAML仅仅是一种使用.NET API的方式,把它与HTML.可伸缩向量图形(SVG)或其他特定领域的格 ...
- Intent进行组件通信的一些体会
Intent进行组件通信的原理 l Intent协助应用间的交互与通讯 Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述.Android则根据此Intent的描述,负责找到对应 ...
- AndroidTestCase简单使用
1.根据需求创建TestCase类,实现测试用例.此类需继承AndroidTestCase类 public class TestCase extends AndroidTestCase { @Over ...
- 1 对WinMain的理解
就像C语言的main是它的程序路口一样,windows的程序入口是WinMain,WinMain的定义可以查看winbase.h文件. Hello Windows(c语言中的Hello world!) ...
- Cisco模拟器使用和静态路由配置
一. 模拟器使用 网络拓扑图 1. 模拟器搭建环境及网络结构 2. 使用ios系统加载并配置 3. 加载3745ios后计算pc值以减小cpu的消耗 4. 然后使用CTRL+]+i得到最大的一个值(如 ...
- a href 相对路径 与绝对路径
<a href="/abc/">内容</a> <a href="abc/">内容</a>的区别,相对路径绝对路径 ...
- 两种获取connectionString的方式
两种获取connectionString的方式 1. public static string connectionString = ConfigurationManager.ConnectionSt ...