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的核心就是 ...
随机推荐
- 转:实体ToolTip显示XData
首先要说明,实现方式不是我的原创,其中ToolTip的实现转自这里,然后XData的设置和获取来自Kean的博客,当然我自己也做了点研究,在这里,然后把这两个技术结合起来就是你将要看到的东西. 先上效 ...
- jquery更改Reaper某一列的值
一.实现效果:通过Jquery实现点击repeater中的按钮循环修改快递专线的线路状态 1.初始效果图 2.点击关闭专线按钮之后的效果图 二.MVC模式实现上述效果 SQLServerDAL层 #r ...
- [转]Mac OS X 下部分Android手机无法连接adb问题之解决方案
时至当今,Android山寨手机厂商已如此之多,能修改和个性化定制Android OS的能人已是多如牛毛,有的牛人修改Android系统只会影响所修改的点,不会影响其它,然后还有的就不多说了,总之做的 ...
- 大数阶乘(c语言)
大数阶乘.代码比较简单. #include<stdio.h> #include<string.h> #define MAXN 25000 // 如果你的阶乘N比较大,建议大一点 ...
- C# 数据操作工具类
CREATE PROCEDURE [dbo].[RecordFromPage] @SelectList VARCHAR(max), @TableSource VARCHAR(100), @Search ...
- 20141124-JS函数
函数: 函数是由事件驱动或者当它被调用时执行的可重复色代码块. <head> <script> function hanshu() { alert("你好!" ...
- js高程笔记1-3章
第1章 js简介 1.js由三部分组成,ECMAScript, DOM, BOM. 第2章 在HTML中使用js 1.把<script>标签放在<body>里面的最后,可以在加 ...
- 10 个非常有用的 AngularJS 框架
AngularJS是最流行的开源web app框架.AngularJS被用于解决阻碍单页应用程序开发的各种挑战. 你作为一个AngularJS用户,却不知道一些可以帮助你美化编码的资源?那么一定不能错 ...
- C++11智能指针
今晚跟同学谈了一下智能指针,突然想要看一下C++11的智能指针的实现,因此下了这篇博文. 以下代码出自于VS2012 <memory> template<class _Ty> ...
- 观察者模式(Observer)
观察者模式是经常使用到的一种设计模式,在我们的生活中也经常遇到,小到学校上学让同学帮忙看着老师有没有过来,在教室里做一些与学习无关的事情,大到股市里面我们遇到的,到股票涨到或者跌到一定程度的时候通知我 ...