问题标签 [luminus]
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.
mongodb - 如何在 Luminus 应用程序中检查 Monger 连接(MongoDB 不可用)?
我正在学习 Clojure (1.10),并正在使用 Luminus 框架 (3.93) 编写一个小型 Web 应用程序,使用 Monger 客户端 (3.1.0) 连接到 MongoDB 实例。Luminus 生成一些脚手架代码,用于在启动时创建数据库连接池(使用函数monger.core/connect-via-uri
)<myproject>.db.core
:
我的问题:如果此时 MongoDB 实例不可用,则不会显示任何警告问题的信息。提供网页,直到需要调用 Monger 函数。此时,应用程序“搅动”,然后超时(设置为 30 秒)并出现异常/堆栈跟踪错误屏幕(除了可怕的用户体验之外,还可能暴露本应保密的代码/数据)。
当必备数据库不可用时,如何最好地防止启动应用程序?
一种(诚然笨拙的)初始尝试是将 Monger 调用插入到上述启动代码中。这会在启动期间导致超时异常(带有异常消息),而不是启动 Web 应用程序。有什么更好的方法?
另外,您是否知道一种方法可以让此类问题停止启动过程,而不是重试并大量输出失败消息?
clojure - Luminus H2留言簿应用程序中没有合适的驱动程序
尝试使用 Luminus 模板和 H2 db 从 Leiningen 创建简单的示例应用程序。没什么特别的,我确实看到很多这样做的例子,但总是得到No suitable driver
.
该文件包含:
我已经从其他示例中尝试了各种变体。
clojure - Clojure luminus 和多个相同的请求参数
只是玩 Luminus,我有一个简单的搜索功能
参观时一切都很好localhost:3000/search?q=foo
。但是,当我访问时localhost:3000/search?q=foo&q=bar
,出现以下错误
我确切地知道问题出在哪里,第一个 URL 插入{:q "foo"}
到参数中,而后者给出了{:q ["foo" "bar"]}
. 我可以在我的控制器中使用类似这样的东西进行修复:
但作为 Luminus 和 Clojure 的初学者,我不确定我是否弄错了。我一直在互联网上搜索现有技术,但没有成功。
我知道Struct 库。这似乎已经到了一半,但是 usingst/string
会给出错误“必须是一个字符串”,而不是只取最后一个值。
需要明确的是,我可能会在我自己的代码中停止 500 个错误,但我只是希望 Luminus 文档中的某处有一行可以满足使用多个相同键的工作(TM),而不必大惊小怪。与其他框架进行比较(据我所知,作为我多年未使用的一些框架的信息):
- Django:返回最后提供的值
- Rails:采用最后提供的参数,除非键以 [] 结尾,在这种情况下它会强制使用列表。
- Mojolicious:提供两种不同的返回参数的方法,一种像 Django,另一种总是给出一个列表(甚至是一个空的)
- Python urlparse:总是返回一个列表
这些中的每一个对我来说都更直观,但是如果我缺少某些东西,请告诉我。
附录:
根据@noah-bogart将其转变为特定问题的好建议,这是一个尝试:在我看来,Luminus 中的默认行为通过上面概述的易于重现的客户端机制给出了 500 个错误。其他 Web 框架可以有效地防止这种情况发生,最终开发人员无需支付任何费用,如上所述。Luminus 或更广泛的生态系统中是否有提供此功能的中间件或命名空间?
后附录:
为了扩展我在上面写的关于 Django 的内容,该框架具有与 Mojolicious 类似的过程,您可以指定您想要一个列表还是单个值。
clojure - How to Access Environment Variables In Clojure - Luminus Web Framework
I need help accessing my environment variables. I have :my-variable "value"
in dev-config.edn
and I'm trying to access it in another place. I required [my-app.config :refer [env]]
and trying the following:
I tried this and several other things... What's the right to do this?
clojure - 循环依赖?
我用 postgres 设置了一个基本的 luminus 模板。我希望能够添加新用户并对其进行身份验证,遵循本书第 6 章第 168 章的示例:https ://pragprog.com/titles/dswdcloj3/web-development-with-clojure-third-edition /
我遇到了问题,所以我重新开始了一个新项目,试图通过这部分。
我创建了一个新的 luminus 项目,创建了数据库表,并更新了 project.clj 文件。我可以迁移,但后来我添加了一个 auth.clj 文件,然后用 lein run 重新启动,现在我收到此错误:
我不确定发生了什么,因为我的依赖项与源代码完全相同,而且我完全是初学者。
我能做些什么来解决这个问题?
clojure - 命名空间中的函数没有被读取?
我用 postgres 设置了一个基本的 luminus 模板。我希望能够添加新用户并对其进行身份验证,遵循本书第 6 章第 168 章的示例:https ://pragprog.com/titles/dswdcloj3/web-development-with-clojure-third-edition /
我遇到了问题,所以我重新开始了一个新项目,试图通过这部分。
我创建了一个新的 luminus 项目,创建了数据库表,并更新了 project.clj 文件。当我尝试创建测试用户时出现错误。
我已经完成了以下命令:
在另一个终端,我做
我更新了 dev_config.edn 文件:
}
然后我做了
我收到此错误:
我编辑/创建的文件:project.clj(添加好友)
auth.clj:
查询.sql:
迁移:添加用户表:
向下添加用户表:
我能够添加消息/帖子就好了。对于这个测试项目,我只是想让新用户隔离问题。
我究竟做错了什么?我应该注意哪些部分?
谢谢。
web - 在 luminus 中调用 clojure 函数时出现防伪令牌错误
我正在使用 luiminus 学习 clojure,并且我正在尝试按照示例解析参数。通过使用 curl 我正在发送要打印的用户名和密码,调用 foo 在以下路线中。但是,我收到“无效的防伪令牌错误”。我一直在寻找解决方案,但找不到任何解决方案。请注意,我也在使用 wrap 中间件行。有什么建议么?
主页.clj:
postgresql - 为什么我的 luminus 应用不能在 Heroku 上运行?
我是一个完整的初学者并遵循这本书:https ://pragprog.com/titles/dswdcloj3/web-development-with-clojure-third-edition/
我按照书中和这里关于部署到 Heroku 的说明进行操作:https ://luminusweb.com/docs/deployment.html#heroku_deployment但我遇到了一些问题。
这是我的问题和我已采取的步骤。我在这里使用来自留言簿控制器的源代码并对其进行修改,只是试图让应用程序在 Heroku 中运行(即能够创建帐户、登录并发布消息)。这是我的仓库:https ://github.com/johnbradens/guestbook-heroku
这是我的步骤:
这是我在查看 Heroku 应用程序时看到的:
当我运行时,heroku run lein run migrate
我收到以下错误:
我尝试编辑,env/prod/resources/config.edn
但我不确定如何处理它。我尝试了很多东西,但都没有奏效。
env/prod/resources/config.edn
这是我在更改文件时尝试的示例。上面的链接之一说只有{:prod true}
这样,这就是我现在所拥有的,但我也尝试过:
编辑:感谢 clojure 松弛,我发现我的 env 文件夹被忽略了,并创建了一个 prod-config.edn 文件,我在该文件中有上述文本。我尝试再次推送到 Heroku,但仍然收到与 Web 应用程序上的图像相同的错误,并且当我运行heroku run lein run migrate
找不到配置文件时仍然收到相同的错误消息。
我应该怎么办?
clojure - How to make validation errors only show up after the form is filled?
I am following the same book & have the same issue as here:
How do I fix this? I can post code & screenshots if needed. I'm a total beginner so anything helps.
Edit: I have a form where people submit a message. I have validation set up to make sure the message is required and is longer than 10 characters. I want an error message to show up when the user tries to submit without a message or the message less than 10 characters. However, the message shows up automatically, before the user has a chance to submit it. I want the message to NOT show up immediately. I want it to ONLY show up if there are errors when the user clicks the submit button.
clojure - Luminus - 从 selmer 模板中的 REST API 路由访问数据
我想制作一个提供 REST API 并在 Selmer 模板中提供来自该 API 的数据的 Luminus 应用程序。但是,我无法弄清楚如何让路由工作。
例如,如果您使用命令创建一个 luminus 模板lein new luminus consume_rest +reitit +swagger
,您将在 下获得 selmer 模板home-routes
和 REST API service-routes
。我想将端点提供的数据包含service routes
在home-routes
.
有没有人有关于如何构建这个的建议方法,或者一个这样做的应用程序的例子?我见过的每个使用 REST API 的项目都是使用 clojurescript 的 SPA,它使用 AJAX 调用 REST API。