关于EJS 的几个问题
 发布于 13 年前  作者 denvilliyankai  6453 次预览  最后一次回复是 13 年前  来自  

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

10 回复
alexbian

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

fengmk2

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;');
};
shaman

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

shaman

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

ijse

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

denvilliyankai

谢谢啊~~~~一定看

denvilliyankai

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

denvilliyankai

谢谢啦~不错~