位置: 编程技术 - 正文

Node.js的Web模板引擎ejs的入门使用教程(nodejs web3)

编辑:rootadmin

推荐整理分享Node.js的Web模板引擎ejs的入门使用教程(nodejs web3),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs web3,node.js web,node html模板,node html模板,nodejs web3,node js模块,node html模板,nodejs 模板,内容如对您有帮助,希望把文章链接给更多的朋友!

Node 开源模板的选择很多,但推荐像我这样的老人去用 EJS,有 Classic ASP/PHP/JSP 的经验用起 EJS 来的确可以很自然,也就是说,你能够在 <%...%> 块中安排 JavaScript 代码,利用最传统的方式 <%=输出变量%>(另外 <%-输出变量是不会对 & 等符号进行转义的)。安装 EJS 命令如下:

JS 调用JS 调用的方法主要有两个:

实际上 EJS 可以游离于 Express 独立使用的,例如:

names 成了本地变量。

选项参数第二个参数是数据,一般是一个对象。而这个对象又可以视作为选项,也就是说数据和选择都在同一个对象身上。如果不想每次都都磁盘,可需要缓存模板,设定 options.filename 即可。例如:

inculde 指令而且,如果要如

般插入公共模板,也就是引入文件,必须要设置 filename 选项才能启动 include 特性,不然 include 无从知晓所在目录。模板:

EJS 支持编译模板。经过模板编译后就没有 IO 操作,会非常快,而且可以公用本地变量。下面例子 user/show 忽略 ejs 扩展名:

自定义 CLOSE TOKEN如果打算使用 <h1>{{= title }}</h1> 般非 <%%>标识,也可以自定义的。格式化输出也可以哦。调用:EJS 也支持浏览器环境。不知道 EJS 能否输出多层 JSON 对象呢?

对了,有网友爆料说,jQ 大神 John 若干年前写过 行的模板,汗颜,与 EJS 相似但短小精悍!

简单实用的js模板引擎不足 行的 js 模板引擎,支持各种 js 语法:

“<%= xxx =%>”内是 js 逻辑代码,“<%== xxx =%>”内是直接输出的变量,类似 php 的 echo 的作用。“p”是调用下面 build 方法时的 k-v 对象参数,也可以在调用 “new JTemp” 时设置成别的参数名

调用:

上面的 temp 生成以后,可以多次调用 build 方法,生成 html。以下是模板引擎的代码:

核心是将模板代码转变成了一个拼接字符串的 function,每次拿数据 call 这个 function。

因为主要是给手机(webkit)用的,所以没有考虑字符串拼接的效率问题,如果需要给 IE 使用,最好将字符串拼接方法改为 Array.push() 的形式。

Node.js的Web模板引擎ejs的入门使用教程(nodejs web3)

ejs模板布局 layout1. 如果不愿意使用默认的layout.ejs,可自行指定。例如:

2. 如果不愿意使用layout,则可以设置layout为false,例如:

3. 如果不想每个请求都单独设置一次。可以使用全局设置:

4. ejs 里,默认的闭合标记是 <% .. %>,我们也可以定义自己的标签。例如:

5. 局部布局 在web应用中,经常会需要重复显示某个内容,例如:用户评论功能,需要重复显示出每一条用户的评论,这个时候,我们可以通过循环来实现。但是也可以使用【局部模版】( partial)来实现。例如:

首先我们建一个局部的模版 ./views/comment.ejs:

注意:这里是 comment.xxxx

然后在./views/index.ejs中,通过partial调用comment

注意:这里是 partial("comment.ejs", comments); <-- 单词要用复数。

最后是在router中,调用index.ejs。

注意:代码里的 comments 和 index.ejs的 comments变量名称一致,而partial所调用的comment.ejs中,则采用 comment 的单数形式。

在列表显示时,我们通常会遇到的场景是,对第一个元素或者最后一个元素加以特殊显示。在partial中,我们可以通过express内置的变量来判断当前对象是否是第一个元素或者最后一个元素,例如:

这样第一条评论的 class 里就会多一个firstitem。

类似的内置变量还有:(1)firstInCollection 如果是数组的第一个元素,则为true(2)indexInCollection 当前元素在数组里的索引 (3)lastInCollection 如果是数组的最后一个元素,则为true(4)collectionLength 数组的长度

最后是partial调用模版时的路径查找问题:

(1)partial("edit") 会查找同目录下的edit.ejs文件。(2)partial("../message") 会查找上一级目录的message.ejs文件。(3)partial("users") 会查找 users.ejs文件,如果不存在users.ejs, 则会查找 /users/index.ejs文件。

(4)<%= users %> 会对内容进行转义,想不转义,可以用 <%- users %>

Node.js中npm常用命令大全 npm是什么NPM的全称是NodePackageManager,是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载、安装、上传以及管理已经安装的包。npmi

Node.js Addons翻译(C/C++扩展) PS:请先升级Node6.2.1,Node升级命令npminstall-gn;nstable.NOde.js扩展是一个通过C/C++编写的动态链接库,并通过Node.js的函数require()函数加载,用起来就像使用一

Node.js环境下JavaScript实现单链表与双链表结构 单链表(LinkedList)的javascript实现npmjs相关库:complex-list、smart-list、singly-linked-list编程思路:add方法用于将元素追加到链表尾部,借由insert方法来实现;

标签: nodejs web3

本文链接地址:https://www.jiuchutong.com/biancheng/370743.html 转载请保留说明!

上一篇:node.js 中国天气预报 简单实现(苹果手机如何给视频添加字幕)

下一篇:Node.js中npm常用命令大全(node.js常用命令)

  • 外贸出口退税流程视频
  • 投资性房地产税务上可以计提折旧吗
  • 减免税款会计分录
  • 金蝶软件中怎么增加固定资产
  • 小金额收据入账后需要汇算清缴吗
  • 收据上面盖公章还是财务章
  • 个体户需要税务申报吗?
  • 资产总计是期初余额吗
  • 个人自产自销农产品免税政策
  • 货运代理公司会计涉及的科目
  • 进项已经抵扣会退回吗
  • 将资产货物用于业务宣传增值税
  • 可供出售金融资产和长期股权投资
  • 个体户要申报哪些报表
  • 企业员工用自己手机发送工作
  • 在深圳如何办理护照流程
  • 商品销售税金及附加科目现在改了吗
  • 2017年7月1日通用机打发票能不能作为税收凭证?
  • 建筑行业不管是什么行业
  • 自产自销流程图
  • 新注册的个体户怎么开发票
  • 企业亏损减资的会计处理
  • 抄报税失败是怎么回事
  • 建筑设计公司的账务处理
  • 建筑中小企业
  • 个人将房产无偿赠与他人应交个人所得税吗
  • 工会账户销户
  • 在Win10系统中卸载最近更新的补丁并重启电脑
  • linux 列表
  • 所得税税负率一般是百分比还是千分比
  • 利得和损失计入哪里
  • 电子设备摊销额怎么算
  • Win10如何去掉桌面快捷方式的箭头
  • 先开票后收款的发票怎么备注
  • 本月未抵扣完的进项税是否转出
  • 工程改造怎么做账
  • win7旗舰版叫啥
  • 便秘怎么办 女性
  • 废料收入的成本怎么核算
  • 销售货物代垫的运费会计分录
  • php7.0新特性
  • php -r
  • web前端框架是什么
  • 正则表达式除去指定字母
  • 企业的营业税金及附加
  • 固定资产盘盈税务处理政策
  • 公司年底封账时间
  • 物业管理服务小组职责
  • 管理费用二级科目明细可以自己设置吗
  • 低值易耗品还需要录入明细吗
  • 什么经营范围可以开劳务费
  • SQL server2008数据不存储,重启后正常
  • 运输途中的合理损耗计入入账价值
  • 政府补助的范围
  • 4s店交首付分期多久
  • 印花税账务处理
  • 车船使用税和印花税谁交
  • 法院拍卖得来的物品有发票吗
  • 员工借款怎么处理
  • 结算本月应付职工工资,其中生产工人工资8000元
  • 银行汇票的适用主体
  • 企业要建账需留什么资料
  • mysql声明全局变量
  • flashplayer不能正常运行
  • fedora os
  • linux文件权限的含义
  • WINDOWS操作系统属于什么操作系统
  • 桌面管理在哪里打开
  • windows 7中,执行应用程序的方法有哪几种?
  • Linux操作系统中怎么永久设置环境变量?
  • win8怎么调整屏幕分辨率
  • android如何导入文件
  • opengl用法
  • bootstrap技术教程
  • javaScript事件机制兼容【详细整理】
  • 复制文件到c盘需要管理员权限
  • 举例讲解生产可能性曲线
  • android sdk使用教程
  • 怎样在电子税务局查询财务报表
  • 总分机构在同一县城企业所得税需要预交吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设