传递html标签作为ejsvariables的值
我正在使用Koa框架和EJS模板来呈现视图。 我需要发送一些html元素值到视图。 但ejs库正在将它们转换为html实体。 我正在关注他们在https://www.npmjs.org/package/koa-ejs中所说的话
在我的js文件中:
yield this.render('ejs file name', { a: 'hi', b: '<a href="hi">hi</a>' });
我的观点文件:
<%=a %> <%=b %>
运行代码后得到的结果是:
hi <a href="hi">hi</a>
但是我需要<a href="hi">hi</a>
作为值,而不是<a href="hi">hi</a>
有没有人有任何build议如何去?
通过手动检查模块的代码find解决scheme。 默认情况下,ejs模块将会转义这些值。 为了防止它,我们需要将我们自己的转义函数发送到将覆盖现有的模块。
yield this.render('ejs file name', { a: 'hi', b: '<a href="hi">hi</a>', escape: function(html) { return String(html); // don't replace the htmls //.replace(/&/g, '&') //.replace(/</g, '<') //.replace(/>/g, '>') //.replace(/'/g, ''') //.replace(/"/g, '"'); } });