问题标签 [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 投票
4 回答
12138 浏览

layout - 在 Express/EJS 中,如何更改默认布局?

我不希望它是 layout.ejs。

我想将我的布局设置为这个特定控制器的另一个模板。

0 投票
4 回答
2650 浏览

node.js - Express.js 中的 EJS - Express Helpers 不工作 - 需要中的(应用程序)

我正在使用带有 express.js 的 EJS 模板引擎,并且我想使用视图助手。我在 github 上找到了这个:https ://github.com/tanema/express-helpers ,但是当我尝试使用它时,我得到了这个错误:

而这一行是 app.js 上的第 12 行:

如果我成功了

它确实会引发错误,但也不起作用。

我的 app.js 文件顶部如下:

想法?

提前致谢!

0 投票
1 回答
445 浏览

forms - 填充表单的最佳实践?

我有一个 ejs 视图,其中包含我需要用数据填充的表单,以便可以编辑基础记录。我已经将包含数据的对象传递给视图,现在看到了两种填充表单的方法,并且希望得到一些帮助来决定哪一种更好。

选项 1 - “服务器端”人口

我可以将表单值直接放入元素中,如下所示:

选项 2 - “客户端”人口

或者,我可以将整个对象返回给客户端,然后使用 javascript 填充表单字段,如下所示:

选项 2 的好处是,如果通过 ajax 加载新数据,则可以轻松地重用该函数来重新填充表单。它还消除了任何转义数据的需要,因为它已经全部在一个 js 对象中,而选项 1 需要某种类型的 html 编码和引号转义。另一方面,选项 1 可以在没有 js 的情况下工作。

是否有标准的、最佳实践的方法来做到这一点(并且是这些选项之一)?

0 投票
2 回答
1231 浏览

json - 从 JSON 中检索参考数据

我有以下格式的json数据

如何使用消息上出现的 id 将学生姓名映射到消息?我对 JSON 解析比较陌生。我目前正在使用 EJS 模板将 JSON 操作为 HTML。

在那只是使用

返回“未定义”。请帮忙。

0 投票
4 回答
40144 浏览

javascript - 您将如何在 ejs 中为 node.js 检查未定义的属性?

在 ejs 模板中检查未定义属性的最佳方法是什么?

(我使用的是 TJ Holowaychuk的node.js 包)

例子:

我希望这会呈现“foo undefined”。它确实会抛出一个foo 未定义的错误。

我知道这不应该是一个问题,因为这是测试中的预期行为。有没有一种简单的方法可以避免这种情况?

我找到的唯一解决方案是使用该hasOwnProperty方法。

这不会引发任何错误。

有没有更好的方法来保持模板清洁?或者为什么会抛出这个错误?

0 投票
1 回答
4873 浏览

node.js - 关于部分的新手问题

我有一个带有标题、菜单、内容和页脚的简单页面。我需要将它们分成单独的文件。在阅读了 express 文档后,我(创建了 4 个模板并)写了如下内容:

虽然它有效,但对我来说似乎有点脏。有没有更好的方法来使用部分模板?

0 投票
0 回答
220 浏览

jammit - 如何将 Jammit 与 EJS javascript 模板一起使用?

有没有人将 Jammit 与 EJS javascript 模板一起使用?我不知道应该如何使用 jammit 加载新模板。这导致我出现缓存问题。

以下是您通常加载模板的方式。不知道我会如何使用 Jammit。
http://code.google.com/p/embeddedjavascript/wiki/Templates html = new EJS({url: '/template.ejs'}).render(data)

0 投票
1 回答
3829 浏览

node.js - Cradle / Express / EJS 将 html 转换为其实体

我在我的博客上使用带有 Express 和 EJS 的 Cradle。也许我错过了 smth 但其中一些将 html 实体转换为其等价物。

我在 doc.quote 字段中有 html,在这段代码之后它发生了变化

引号.ejs:

“res”变量是数组,其中包含带有“content”字段(具有 html)的对象。但是在渲染“str”之后,将“quotes[i].value.quote”符号转换为它的实体,比如 <br> 到 < ; br>

0 投票
1 回答
99 浏览

javascript - 准备要在 JavaScript 编译器中编译的脚本(Google Closure)

我在很多地方都写过代码。出于性能和语法检查的原因,我想重构代码以便能够使用 JavaScript 编译器。准备编译代码的建议是什么?

  • 我有用 EJS 编写的 JavaScript 代码,用于在 JavaScript 中呈现一些服务器端数据:

代码:

  • 我认为编译器会更改我的变量名称(我知道可以将其设置为不更改哪个变量,但是我在页面、脚本或小部件/子页面中使用了很多变量;类似于 global var),在这种情况下它' 肯定会崩溃我的代码。

我听说以闭包风格编写有助于每个脚本文件之间的变量冲突。我是否必须使用该模式重写所有代码?我必须从 scatch 构建代码吗?我正在询问准备要编译的代码的方法,有什么建议吗?

0 投票
1 回答
1056 浏览

node.js - Node JS Express 样板和渲染

我正在通过 Express 样板安装尝试 node 和它的 Express 框架。我花了一段时间才弄清楚我需要安装 Redis(顺便说一句,如果您正在制作样板文件,要么包含所有必需的软件,要么警告某些软件的要求 - Redis 从未按要求提及)并按照我的方式围绕 server.js 文件。

现在我仍然对如何在这个网站上建立一个陌生的..

有一个问题特别困扰我——当我运行 server.js 文件时,它说一切都很好。当我尝试在浏览器中访问它时,它显示“从本地主机传输数据”并且永远不会结束 - 就像渲染没有完成发送并且永远不会发送标头一样。没有错误,没有日志,什么都没有 - res.render('index') 只是挂起。该文件存在,脚本找到它,但什么也没发生。我在渲染中没有定义回调,所以标题应该像往常一样发送。另一方面,如果我将渲染命令替换为简单的 write('Hello world'); 然后做一个 res.end();,它就像一个魅力。

我在渲染方面做错了什么?顺便说一句,我没有改变原始安装的任何东西。有问题的文件是 index.ejs,它在 views/ 中,我什至调用了 app.register('.ejs', require('ejs')); 以防在渲染本身之前。EJS 已安装。

还值得注意 - 如果我执行 res.render('index'); 然后 res.write('Hello'); 紧接着是 res.end();,我确实在屏幕上得到了“Hello”,但渲染从未发生 - 它只是挂起并说“从 localhost 传输数据”。所以应用程序并没有真正死亡或挂起,它只是永远不会完成渲染。

编辑:有趣的事件转折:如果我在渲染中定义一个回调,响应就会结束。不再有“正在传输数据...”,但视图永远不会呈现,布局也不会。经检查,源是完全空的。没有任何错误,也没有例外。