跳到主要内容
CNode

关于EJS 的几个问题

Ddenvilliyankai发布于 14 年前最后回复 14 年前
1066660

本人新手,恳请解释下如下几个EJS的问题,不胜感激; 1)EJS 的<%= %> 和 <%- %>的区别是什么?(恳请解释的尽量详细些,能有例子最好) 2)EJS 学习资料去哪里找?(我网上搜集了些,但是都不理想)

查看回复

回复 (10)

A
alexbian#114 年前

有基础的话看一下cnode的源码,很好的学习对象https://github.com/cnodejs/nodeclub 另外ejs的说明确实很少,建议还是边用边学吧。可以去看看作者的README

F
fengmk2#214 年前

escape https://github.com/visionmedia/ejs/blob/master/lib/utils.js#L8

/**
 * Escape the given string of `html`.
 *
 * @param {String} html
 * @return {String}
 * @api private
 */

exports.escape = function(html){
  return String(html)
    .replace(/&(?!\w+;)/g, '&amp;')
    .replace(/</g, '&lt;')
    .replace(/>/g, '&gt;')
    .replace(/"/g, '&quot;');
};
S
shaman#314 年前

楼上一针见血。 <%=%>就是你内容是什么它就输出什么,包括你输入带有html标签的时候转化,<%-%>则不会。比方说通过富文本编辑器存入数据库的内容,实际上存入的是编辑内容的源码,包含了html标签,应该用<%-%>输出才能“所见及所得”。

S
shaman#414 年前

但是像一些评论,或者留言什么的就应该是<%=%>输出的,至于原因这个都懂的。

I
ijse#514 年前

这里有一篇入门教程, http://www.csser.com/board/4fddc4f0b28ed7d857001674
其实它不复杂, 遇到不懂的要学会看它源码~~

D
denvilliyankai#714 年前
引用 fengmk2escape https://github.com/visionmedia/ejs/blob/master/lib/utils.js L8

非常的清晰明白~~~非常感谢~

参与回复

登录后即可参与回复。登录