问题标签 [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.

0 投票
2 回答
466 浏览

node.js - 如何控制台记录单个 req.checkBody 参数(错误消息) - express-Validator

此代码工作正常。它抛出错误并显示在网页上。但现在我想挑选个别错误并显示到网页上。

console.log 错误的各个参数的代码是什么?

0 投票
0 回答
2257 浏览

node.js - Bootstrap 4 + Handlebars Navbar:活动类未打开导航项

我的一个项目中有一个 Bootstrap 4 导航栏。有几个链接。单击它们都将进入相应的页面。悬停效果也有效。唯一的问题是“主页”选项卡保持活动状态,而其他选项卡在单击并转到相应页面时不会变为活动状态。

代码:

bsnavbar.handlebars(部分)

head.handlebars(部分)

main.handlebars(布局)

router.js(以防万一)

0 投票
1 回答
44 浏览

javascript - 将 HTML 附加到页面后,程序无法识别 .modal("show") 函数

我正在编写一个程序,其中单击事件处理程序向我的节点服务器触发 ajax 请求,然后在把手部分中呈现信息并将其发送回客户端(res.render("partials/scraped-article", data);)。客户端 javascript 将此 html 附加到文档并使用 bootstrap .modal("show") 函数显示模式。该程序在第一次触发 click 事件处理程序时显示模式,但之后不识别 .modal("show") 函数。有没有办法来解决这个问题?

客户端Javascript:

0 投票
0 回答
139 浏览

javascript - 通过将其与页面 URL 进行比较来检测 Handlebars 中的活动链接项

在使用把手设置菜单时,我想检测与当前 URL 匹配的活动菜单项。

因为目前我将菜单作为对象返回并将其传递给模板渲染器。我想我必须通过客户端代码来解决这个问题。此代码段工作正常

我可以用车把检查吗?

0 投票
1 回答
166 浏览

jquery - jQuery on('click') 在动态生成的页面上不起作用

我正在使用把手为 NodeJS 项目动态生成 html 页面。我有一个 event.js 和一个 jquery.min.js 文件,它们都已加载。

这是 HTML 的一部分:

和 Javascript 的一部分:

问题是单击“valider_ajout_resultat”按钮完全没有任何作用。控制台也什么也没说。

有人看到问题了吗?

谢谢!

0 投票
2 回答
725 浏览

javascript - 每个循环内的车把 i18n 助手

我正在使用快速车把来生成我的视图,但我遇到了一个问题,即我的视图中的某些内容没有正确翻译,因为我在#each 助手中调用了 I18n 助手。

Index.handlebars:

JS:

如何解决问题?

0 投票
1 回答
106 浏览

node.js - 使用 HBS(快速车把)检查两个字符串

我正在尝试比较 HBS 的两个不同字符串。

函数如下所示:

效果很好!但问题出在这几行:

s 你可以看到我正在尝试检查两个字符串在循环内是否相等。问题是我如何才能回到 {{info}} 之一。到循环内的全局对象。而不是使循环进入对象。

0 投票
1 回答
480 浏览

express - 将 Express 默认路由重定向到新路由

我有 FeathersJS 应用程序(位于 Express 之上)并且我使用把手作为模板引擎。

我想将 express 的“/”重定向到其他 URL,但一直在 /public 文件夹中加载 index.html。我的目标是将其重定向到车把页面,以便我可以使用布局并且不要重复自己。

我指出的不是'/home'。我错过了什么吗????

谢谢!

0 投票
1 回答
2467 浏览

node.js - Node.js : 表达路由,从数据库中查询数据并在 template.hbs 视图中渲染

我想创建一个 Node.js 应用程序,它对某些网站进行网络抓取,将数据保存在 PostgreSQL 数据库中,然后在网页上显示这些数据的可视化(在 D3.js 中)。我考虑过拆分前端部分(创建和显示可视化)和后端部分(进行网络抓取和更新数据库)。

两个应用程序的骨架(有两个是因为我把任务分成了两个应用程序)如下。

后端应用程序 ( scraper):

  • 连接到数据库
  • 如果表不存在则创建表
  • 数据刮板
  • 将数据保存在数据库中
  • 与数据库断开连接。

这个后端应用程序一年只能启动几次(为此,如果使用 Unix,我可以配置一个 CRON 文件)。

前端应用程序(viz):

  • 连接到数据库
  • 启动一个在端口 3000 上等待的服务器(我需要它来进行可视化)
  • 每次用户刷新页面 ( onLoad()) 时,应用程序都会进行一次查询 ( SELECT) 从数据库中获取数据。以这种方式,数据总是被更新。

此应用程序仅由程序员启动一次(理想情况下)。

我创建了这种类型的文件夹结构(我使用了npm initand Express):

使用这种结构,我已经有两个我不知道如何解决的问题:

  1.postgreSQLlib.js文件 (and also ) 在andutilFunc.js中是相同的。我怎样才能避免这种重复的代码?scraperviz

2. 我必须在and文件夹  中安装一些模块(例如express-handlebarsand express)两次。scraperviz

这是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,但它们并没有用。

0 投票
0 回答
62 浏览

javascript - Handlebars - 从填充的数组中获取信息并显示结果

我正在使用 Handlebars 在网页上显示数组。数组应该填充数据,然后我想从中获取最常用的单词并将结果显示在网页上。

空数组:

将内容推送到数组theArray

从 中获取最常用的词theArray

当我设置data: theArray并向其推送内容时,一切正常并显示数组的内容。但是当我改为data: result显示最常用的单词时,我只会得到“数组为空”。

我究竟做错了什么?