Nodejs中关于EJS的几个问题
Nodejs中关于EJS的几个问题
本人新手,恳请解释下如下几个EJS的问题,不胜感激; 1)EJS 的<%= %> 和 <%- %>的区别是什么?(恳请解释的尽量详细些,能有例子最好) 2)EJS 学习资料去哪里找?(我网上搜集了些,但是都不理想)
Nodejs中关于EJS的几个问题
1)EJS 的 <%= %>
和 <%- %>
的区别是什么?
在EJS模板引擎中,<%=
和 <%-
是用来插入变量到HTML中的标签。它们的主要区别在于对输出内容的安全性处理。
-
<%= %>
: 这个标签会自动对插入的变量进行HTML转义,以防止XSS攻击。这意味着如果你插入的内容包含HTML标签,这些标签将不会被解析为HTML,而是作为普通文本显示。示例代码:
<div><%= '<strong>Hello</strong>' %></div>
输出结果将会是:
<div><strong>Hello</strong></div>
-
<%- %>
: 这个标签不会对插入的变量进行任何处理,直接输出原始字符串。因此,如果插入的内容包含HTML标签,这些标签会被浏览器解析为HTML。示例代码:
<div><%- '<strong>Hello</strong>' %></div>
输出结果将会是:
<div><strong>Hello</strong></div>
2)EJS 学习资料去哪里找?
对于学习EJS,可以参考以下资源:
-
官方文档: EJS的官方文档是最权威的资源,包含了详细的API说明和使用指南。你可以访问这里获取最新版本的文档。
-
在线教程: 一些技术博客或在线课程平台如MDN Web Docs、FreeCodeCamp等也提供了EJS的学习材料,这些资源通常包含实际的代码示例和项目实践。
-
书籍: 虽然专门针对EJS的书籍可能不多,但一些介绍Node.js和Express框架的书籍通常也会包括EJS的相关章节。例如《Node.js、Express与MongoDB Web开发》这本书就包含了EJS的基本用法。
希望这些信息对你有所帮助!如果还有其他问题,欢迎继续提问。
有基础的话看一下cnode的源码,很好的学习对象https://github.com/cnodejs/nodeclub 另外ejs的说明确实很少,建议还是边用边学吧。可以去看看作者的README
楼上一针见血。 <%=%>就是你内容是什么它就输出什么,包括你输入带有html标签的时候转化,<%-%>则不会。比方说通过富文本编辑器存入数据库的内容,实际上存入的是编辑内容的源码,包含了html标签,应该用<%-%>输出才能“所见及所得”。
但是像一些评论,或者留言什么的就应该是<%=%>输出的,至于原因这个都懂的。
这里有一篇入门教程,
http://www.csser.com/board/4fddc4f0b28ed7d857001674
其实它不复杂, 遇到不懂的要学会看它源码~~
谢谢啊~~~~一定看
非常的清晰明白~~~非常感谢~
谢谢啦~不错~
不错。
Node.js 中关于 EJS 的几个问题
1)EJS 的 <%= %>
和 <%- %>
的区别是什么?
在 EJS 模板引擎中,<%= %>
和 <%- %>
是两种不同的标签,用于插入数据到模板中。
-
<%= %>
:- 这个标签会将插入的数据经过 HTML 转义后输出。
- 适合用于输出普通文本,以防止 XSS(跨站脚本攻击)。
示例代码:
<h1>Welcome, <%= user.name %></h1>
假设
user.name
是"John Doe"
, 输出将是:<h1>Welcome, John Doe</h1>
如果
user.name
包含恶意脚本(例如"<script>alert('XSS')</script>"
),它会被转义成<script>alert('XSS')</script>
,从而避免执行恶意脚本。 -
<%- %>
:- 这个标签会直接输出插入的数据,不会进行任何转义。
- 适合用于输出已经预处理过的 HTML 片段,但使用时需要特别小心,以避免 XSS 攻击。
示例代码:
<div class="content"> <%- content %> </div>
假设
content
是"<strong>Hello</strong>"
, 输出将是:<div class="content"> <strong>Hello</strong> </div>
如果
content
包含恶意脚本(例如"<script>alert('XSS')</script>"
),它将被原样输出,从而可能导致 XSS 攻击。
2)EJS 学习资料去哪里找?
学习 EJS 可以从以下几个资源开始:
-
官方文档:EJS 的官方文档是最权威的学习资源。你可以在这里找到详细的 API 文档和使用说明。
- 官方网站: EJS 官方文档
-
在线教程:许多编程社区和博客都有关于 EJS 的教程。一些知名的平台包括:
- Medium
- Dev.to
- 博客园
-
视频教程:YouTube 上有很多关于 EJS 的教学视频,可以帮助你更直观地理解。
- YouTube 搜索 “EJS Tutorial”
-
书籍:虽然 EJS 本身不是特别复杂,但一些前端框架相关的书籍可能会包含相关内容。
- 《Express.js 实战》(Express.js in Action)
通过这些资源,你应该能够掌握 EJS 的基本用法,并能在项目中灵活运用。