问题标签 [ejs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1380 浏览

ruby-on-rails-3 - 使用自定义处理程序的 Rails 部分模板正在转义 html

我正在使用客户端中的 JavascriptMVC 和 ejs 模板开发 Rails 3.1 应用程序,以在我的应用程序上执行一些复杂的功能。不幸的是,ejs 语法与 erb 语法非常相似,以至于我无法将代码保存在同一个文件中(尽管如果有人知道这样做的好方法,我会欣喜若狂)。最终,我希望能够在 ejs 模板中应用一些 Rails 代码(比如 I18n),但此时我只会满足于让它工作

按照这个问题的示例,我创建了一个自定义模板处理程序,如下所示:

然后我创建了一个包含我的 ejs 代码的部分模板:_jmvc_templates.html.ejs

在我现有的模板中,我尝试包含我的部分:

此时,该文件已包含在内并使用了我的处理程序,但所有内容都被转义了,因此我的模板中的 div 被渲染到页面上,如下所示:

我确定我在这里遗漏了一些明显的东西,但我不知道它可能是什么......我怎样才能让这个模板处理程序只包含我的基于 ejs 的模板而不转义其中的所有 html?

编辑:

我发现使用 html_safe 调用 render 可以:

不过,这似乎是一个杂项——必须有一种方法让 erb 渲染器将来自我的处理程序的文本视为 html 安全文本。

0 投票
31 回答
136744 浏览

node.js - 错误:找不到模块“ejs”

这是我的完整错误:

我的源代码也很简单:

在我的文件夹中,我在我使用的 node_modules 中安装了 ejs npm install ejs在此处输入图像描述所以我的问题是.. 什么给了?我做错了什么,当我清楚地安装它时节点找不到 EJS?

谢谢

0 投票
2 回答
667 浏览

javascript - Rails 3.1 中的 EJS gem 无法正确编译 JavaScript 模板

我正在尝试使用 EJS gem 在 rails 3.1 中进行模板化。当我在 application.js 文件中需要我的模板时

我在客户端获得的输出将模板包装在一个匿名函数中并为其命名空间,但是......就是这样。这是我得到的生成输出。

我希望模板被编译成一个字符串。这就是我过去对 Jammit 的体验。我需要手动执行吗?我错过了什么吗?

提前致谢,

一个

0 投票
2 回答
1214 浏览

javascript - EJS 多个模板在一个文件中

我正在玩 EJS 和 Backbone,我想知道:有没有办法在一个 .ejs 文件中包含多个模板?我有一组我总是需要渲染的不同视图,但浪费多个 GET 请求似乎并不聪明。虽然我在文档或谷歌中找不到任何东西。我知道有部分,但由于我在客户端渲染,这并没有真正帮助。

或者是否有另一个客户端模板库可以为我做到这一点?

谢谢

0 投票
1 回答
654 浏览

javascript - haml 模板中的 JS 语句

我使用 ror3 +bone.js 和 ejs + haml + haml_assets 进行模板化。我需要在模板中使用 if/else 语句。在 jst.ejs 模板中,我可以:

但在 jst.ejs.haml 中它不起作用。如何在haml模板中使用js语句?

0 投票
3 回答
3832 浏览

node.js - 更改 express + node.js + ejs 的代码包装类型

在客户端 ejs 中,我使用[% code %]而不是<% code %>标记 ejs 代码,但我想在服务器端使用 express 做同样的事情。在客户端,我会做类似的事情var template = new EJS({text: template_src, type:'['});

这是我的节点代码:

你在哪里设置“类型”参数,所以我可以改变这个选项

0 投票
8 回答
215352 浏览

conditional-statements - 我可以在 EJS 模板中使用条件语句(在 JMVC 中)吗?

如果是,语法是什么?我的目标是在有多个评论时在“评论”一词前面加上一个“s”。在 JMVC 应用程序的 jQuery.ejs 模板中。以下休息。我找不到任何条件文档...

0 投票
1 回答
2862 浏览

node.js - ejs将变量发送到部分

搜遍了 SO 和 google 以及 EJS 网站,找不到任何东西。如果您有文档链接,请分享。

我有一个名为 rooms.ejs 的视图,我以这种方式加载它:

这就是我在该视图中的内容(rooms.ejs):<%- partial('room', rooms) %>

部分打印<%= room.owner %>。效果很好。

我试图将部分重命名为 rooms_partial,但现在我不知道发送的变量名<%= room.owner %>不再有效,<%= rooms_partial.owner %>

0 投票
5 回答
6414 浏览

ruby-on-rails - 带有主干导轨的 Rails:EJS 文件中的资产助手(image_path)

我有一个使用codebrew/backbone-rails的 Rails 3.1 应用程序。在 .jst.ejs 模板中,我想包含一个图像,如下所示:

但当然资产助手在 JavaScript 中不可用。

链接 ERB (.jst.ejs.erb) 不起作用,因为 EJS 语法与 ERB 冲突。

这是我所知道的:

  • 资产助手在浏览器中不可用,因此我需要在服务器端运行它们。
  • 我可以通过使服务器将各种资产路径转储到 HTML 中(通过数据属性或<script>JSON)并在 JS 中读回它们来解决这个问题,但这似乎相当笨拙。

有没有办法以某种方式在 EJS 文件中使用资产助手?

0 投票
3 回答
1457 浏览

backbone.js - 为许多带有backbone.js 的javascript 模板使用一个大的外部文件?

我有两个不同的 HTML 页面来提供主干应用程序。到目前为止,我已将所有 js 模板放入每个相应的 HTML 文件中。

现在,我正在重构一点,并希望在文件之间共享一些主干视图。当加载一个找不到js模板的view时,整个app都会报错。我知道合并这两者的正确方法是使用外部 js 模板,例如使用 EJS,并且每个文件有 1 个模板,但是,我只想有一个嵌入<script type='text/template'>的巨大 HTML 文件并共享模板 HTML 文件在我的 2 页之间。这可能吗?我尝试使用 AJAX 获取外部 js 模板并将它们写入头部,但骨干视图仍然找不到它们。

还有其他人选择在其中包含许多 javascript 模板的文件吗?我还发现当我使用 ejs 时打开的文件数量难以控制。非常感激任何的帮助。