问题标签 [express-handlebars]
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.
node.js - 如何控制台记录单个 req.checkBody 参数(错误消息) - express-Validator
此代码工作正常。它抛出错误并显示在网页上。但现在我想挑选个别错误并显示到网页上。
console.log 错误的各个参数的代码是什么?
node.js - Bootstrap 4 + Handlebars Navbar:活动类未打开导航项
我的一个项目中有一个 Bootstrap 4 导航栏。有几个链接。单击它们都将进入相应的页面。悬停效果也有效。唯一的问题是“主页”选项卡保持活动状态,而其他选项卡在单击并转到相应页面时不会变为活动状态。
代码:
bsnavbar.handlebars(部分)
head.handlebars(部分)
main.handlebars(布局)
router.js(以防万一)
javascript - 将 HTML 附加到页面后,程序无法识别 .modal("show") 函数
我正在编写一个程序,其中单击事件处理程序向我的节点服务器触发 ajax 请求,然后在把手部分中呈现信息并将其发送回客户端(res.render("partials/scraped-article", data);
)。客户端 javascript 将此 html 附加到文档并使用 bootstrap .modal("show") 函数显示模式。该程序在第一次触发 click 事件处理程序时显示模式,但之后不识别 .modal("show") 函数。有没有办法来解决这个问题?
客户端Javascript:
javascript - 通过将其与页面 URL 进行比较来检测 Handlebars 中的活动链接项
在使用把手设置菜单时,我想检测与当前 URL 匹配的活动菜单项。
因为目前我将菜单作为对象返回并将其传递给模板渲染器。我想我必须通过客户端代码来解决这个问题。此代码段工作正常
我可以用车把检查吗?
jquery - jQuery on('click') 在动态生成的页面上不起作用
我正在使用把手为 NodeJS 项目动态生成 html 页面。我有一个 event.js 和一个 jquery.min.js 文件,它们都已加载。
这是 HTML 的一部分:
和 Javascript 的一部分:
问题是单击“valider_ajout_resultat”按钮完全没有任何作用。控制台也什么也没说。
有人看到问题了吗?
谢谢!
javascript - 每个循环内的车把 i18n 助手
我正在使用快速车把来生成我的视图,但我遇到了一个问题,即我的视图中的某些内容没有正确翻译,因为我在#each 助手中调用了 I18n 助手。
Index.handlebars:
JS:
如何解决问题?
node.js - 使用 HBS(快速车把)检查两个字符串
我正在尝试比较 HBS 的两个不同字符串。
函数如下所示:
效果很好!但问题出在这几行:
s 你可以看到我正在尝试检查两个字符串在循环内是否相等。问题是我如何才能回到 {{info}} 之一。到循环内的全局对象。而不是使循环进入对象。
express - 将 Express 默认路由重定向到新路由
我有 FeathersJS 应用程序(位于 Express 之上)并且我使用把手作为模板引擎。
我想将 express 的“/”重定向到其他 URL,但一直在 /public 文件夹中加载 index.html。我的目标是将其重定向到车把页面,以便我可以使用布局并且不要重复自己。
我指出的不是'/home'。我错过了什么吗????
谢谢!
node.js - Node.js : 表达路由,从数据库中查询数据并在 template.hbs 视图中渲染
我想创建一个 Node.js 应用程序,它对某些网站进行网络抓取,将数据保存在 PostgreSQL 数据库中,然后在网页上显示这些数据的可视化(在 D3.js 中)。我考虑过拆分前端部分(创建和显示可视化)和后端部分(进行网络抓取和更新数据库)。
两个应用程序的骨架(有两个是因为我把任务分成了两个应用程序)如下。
后端应用程序 ( scraper
):
- 连接到数据库
- 如果表不存在则创建表
- 数据刮板
- 将数据保存在数据库中
- 与数据库断开连接。
这个后端应用程序一年只能启动几次(为此,如果使用 Unix,我可以配置一个 CRON 文件)。
前端应用程序(viz
):
- 连接到数据库
- 启动一个在端口 3000 上等待的服务器(我需要它来进行可视化)
- 每次用户刷新页面 (
onLoad()
) 时,应用程序都会进行一次查询 (SELECT
) 从数据库中获取数据。以这种方式,数据总是被更新。
此应用程序仅由程序员启动一次(理想情况下)。
我创建了这种类型的文件夹结构(我使用了npm init
and Express
):
使用这种结构,我已经有两个我不知道如何解决的问题:
1.postgreSQLlib.js
文件 (and also ) 在andutilFunc.js
中是相同的。我怎样才能避免这种重复的代码?scraper
viz
2. 我必须在and文件夹 中安装一些模块(例如express-handlebars
and express
)两次。scraper
viz
这是project/scraper/app.js
:
这是project/viz/app.js
:
第一个应用程序 ( project/scraper/app.js
) 运行良好。
第二个申请(project/viz/app.js
)没有。我希望你这样做:
- 连接到数据库 [完成。有用]
- 启动一个在端口 3000 上等待的服务器(我需要它来进行可视化)[我该怎么做?往下看(*) ]
- 每次用户刷新页面 (
onLoad()
) 时,应用程序都会进行查询 (SELECT
) 从数据库中获取数据
(*)我曾想过这样的事情:
wheredataHome
和are 两个包含使用查询dataWork
从数据库下载的数据的对象。SELECT
但是通过这种方式,数据只会被报废一次,而不是每次用户刷新页面时。
帮助将不胜感激。谢谢!
编辑
你能更精确一点吗?我试图这样做,但它不起作用:
项目/即/app.js:
项目\viz\view\index.handlebars:
项目\viz\view\script.js:
我哪里错了?
编辑 2
好的,我再次修改viz/app.js
代码:
当我运行应用程序时,没有错误,但如果我连接到http://localhost:3000/,浏览器会告诉我无法访问该站点。我觉得有点傻...
编辑 3
如果我正确理解您的代码,则您的代码中存在(分散注意力的)错误。returnOBJ()
代替res.render('index', viewData);
它应该是res.render('obj', viewData);
(与文件有关obj.hbs
)。正确的?
我以这种方式更改 index.hbs 文件:
但我得到:
我也不明白这段代码。
为什么你app.set('view engine', ...)
用不同的值调用两次?
编辑 4
我进一步简化了代码:
/viz/app.js:
/viz/views/test.hbs:
然后在提示命令中,我转到project/viz
并键入node app.js
+ enter。该过程开始并等待:没有错误。当我去http://localhost:3000/
但我得到Connection failed。
我快疯了。
编辑 5
问题不connect
在于做出选择的函数,所以我稍微简化了代码。现在,它几乎可以工作了!
这是代码。
即/app.js:
即/views/index.hbs:
问题是得到一个不是 json 的数据类型。例如,当我尝试打印时间戳和 exString 时,它给了我错误。为什么?
此外,我想稍微清理一下代码,并将 javascript 部分放在script.js
一个index.hbs
使用<script src='/script.js'></script>
.
编辑 6
我发现这个教程对我非常有用。
我index.hbs
通过添加一个 css 文件、一个图像和一个脚本来编辑文件(它只包含一个console.log('here');
但想法是在 script.js 中放置viewData
变量)。
项目/即/视图/index.hbs:
我的文件结构是:
现在我看到了图像并使用了 css。但是脚本似乎不起作用,因为它没有在这里打印字符串。
我在互联网上搜索如何将变量从脚本标签传递到外部 js 文件,但我似乎没有找到任何适合我的东西。我已经阅读了车把 API,但它们并没有用。
javascript - Handlebars - 从填充的数组中获取信息并显示结果
我正在使用 Handlebars 在网页上显示数组。数组应该填充数据,然后我想从中获取最常用的单词并将结果显示在网页上。
空数组:
将内容推送到数组theArray
:
从 中获取最常用的词theArray
:
当我设置data: theArray
并向其推送内容时,一切正常并显示数组的内容。但是当我改为data: result
显示最常用的单词时,我只会得到“数组为空”。
我究竟做错了什么?