关于EJS 的几个问题
发布于 11 年前 作者 denvilliyankai 5465 次浏览 最后一次编辑是 8 年前

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

10 回复

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

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

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

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

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

谢谢啊~~~~一定看

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

恩~谢谢啦~

谢谢啦~不错~

回到顶部