Juicer 中文文档

第一部分: 参数配置

方法与参数

参数配置方法是 juicer.set,该方法接受两个参数或一个参数:

  1. 当传入两个参数时,如 juicer.set('cache',false),即是设置 cachefalse
  2. 当传入一个参数时,该参数应为一个对象,如 juicer.set({cache:false}),系统将遍历这个对象的属性来设值

可以配置的内容

我们可以配置一些参数选项,包括 cachestriperrorhandlingdetection;其默认值都是 true;我们还可以修改模板的语法边界符,如 tag::operationOpen等。具体可配置的项可以参看其源代码。

工作原理

juicer.options = {  // 是否缓存模板编译结果  cache: true,  // 是否清除空白  strip: true,  // 是否处理错误  errorhandling: true,  // 是否检测变量是否定义  detection: true,  // 自定义函数库  _method: __creator({    __escapehtml: __escapehtml,    __throw: __throw,    __juicer: juicer  }, {})
};

选项解析如下:

  1. cache是否缓存编译结果(引擎对象)。缓存的结果存于 juicer.__cache
  2. strip是否清除模板中的空白,包括换行、回车等
  3. errorhandling是否处理错误
  4. detection开启后,如果变量未定义,将用空白字符串代替变量位置,否则照常输出,所以如果关闭此项,有可能造成输出 undefined
  5. _method存储的是用户注册的自定义函数,系统内部创建的自定义函数或对象有 __escapehtml处理HTML转义、 __throw抛出错误、 __juicer引用 juicer__creator方法本文最末讲解

在 Node.js 环境中, cache默认值是 false,请看下面代码

if(typeof(global) !== 'undefined' && typeof(window) === 'undefined') {
    juicer.set('cache', false);
}

这段代码在结尾处可以找到。

此外,还有一个属性是 juicer.options.loose,默认值为 undefined(没有设置),当其值不为 false(此亦系统默认)时,将对 {@each}{@if}{@else if}${}{@include}等中的变量名和自定义函数名进行校验,给其中使用到的变量、函数定义并添加到模板的开头,以保证能够顺利使用。

所以,如果我们更改此设置,可能造成系统错误

// 这些操作应当避免,否则会造成系统错误
// 将`juicer.options.loose`设为`false`
// juicer.set('loose',false);

https://github.com/PaulGuo/Juicer

原文发布于微信公众号 - 竹清助手(zhuqing_help)

原文发表时间:2016-09-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT可乐

Redis详解(三)------ redis的五大数据类型详细用法

  我们说 Redis 相对于 Memcache 等其他的缓存产品,有一个比较明显的优势就是 Redis 不仅仅支持简单的key-value类型的数据,同时还提...

13600
来自专栏杨建荣的学习笔记

shell基础学习总结(二) (r3笔记第72天)

-->关于shell编程之文件比较 可以使用如下的选项来做文件的比较。有了这些选项,文件的比较来说都是游刃有余。 -d file file是否存在...

26040
来自专栏技术小讲堂

使用Unity创建依赖注入依赖注入生命周期:注册、解析、销毁   注册解析销毁

这篇文章翻译自《Dependency Injection With Unity》第三章。文中提到的类似“前几节”的内容您不必在意,相信您可以看懂的。 P.S:如...

42360
来自专栏Java 技术分享

Struts2 转换器

31470
来自专栏GreenLeaves

Jquery filter()方法简介

利用filter函数可以从wrapper set中过滤符合条件的dom元素。 如下图html代码,假如我们要获取类名为filter的<a>标签,用filter方...

21890
来自专栏开发与安全

《鸟哥的linux私房菜》基本命令笔记

1.以前没注意过的,略写的命令option后面只能空格后加参数,而标准option即可以空格也可以等号后跟着参数,如date命令,date -r filenam...

25460
来自专栏积累沉淀

Python快速学习第八天

本文内容全部出自《Python基础教程》第二版 10.1 模块 现在你已经知道如何创建和执行自己的程序(或脚本)了,也学会了怎么用import从外部模...

38160
来自专栏Linux驱动

编译make的出错提示解决方案

编译出错笔记: start.s:20: Error: no such instruction: `ldr r0,=WTCON' 错误:没有这样的指令 解决...

204100
来自专栏同步博客

Smarty的基本使用与总结

含义:Smarty是PHP的一个引擎模板,可以更好的进行逻辑与显示的分离,即我们常说的MVC,这个引擎的作用就是将C分离出来。

10230
来自专栏JMCui

Linux 学习记录 四(Bash 和 Shell scirpt).

一、什么是 Shell?        狭义的shell指的是指令列方面的软件,包括基本的Linux操作窗口Bash等,广义的shell则包括 图形接口的软件,...

42340

扫码关注云+社区

领取腾讯云代金券