从 compojure 提供 index.html 文件

2024-01-31

我是 clojure 和 compojure 的新手,并尝试使用 compojure 和 Ring 来创建一个基本的 Web 应用程序。

这是我的 handler.clj

(ns gitrepos.handler
  (:require [compojure.core :refer :all]
            [compojure.route :as route]
            [ring.util.response :as resp]
            [ring.middleware.defaults :refer [wrap-defaults site-defaults]]))

(defroutes app-routes
  (GET "/" [] (resp/file-response "index.html" {:root "public"}))
  (route/not-found "Not Found"))

(def app
  (wrap-defaults app-routes site-defaults))

我有这个索引.html文件下/资源/公共但应用程序没有渲染这个 html 文件。相反得到未找到

我已经搜索了很多,甚至这个Compojure 中默认在 / 处提供 index.html https://stackoverflow.com/questions/7729628/serve-index-html-at-by-default-in-compojure似乎并不能解决问题。

不知道我在这里缺少什么。


也许您想尝试使用一些模板库,例如Selmer https://github.com/yogthos/Selmer。所以你可以这样做:

(defroutes myapp
  (GET "/hello/" []
    (render-string (read-template "templates/hello.html"))))

或者传递一些值:

(defroutes myapp
  (GET "/hello/" [name]
    (render-string (read-template "templates/hello.html") {name: "Jhon"})))

而且,正如 @piotrek-Bzdyl 所说:

(GET  "/" [] (resource-response "index.html" {:root "public"}))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 compojure 提供 index.html 文件 的相关文章

  • seq 和 list 之间的区别

    Clojure 语言中的 seq 和列表有什么区别 list 1 2 3 gt 1 2 3 seq 1 2 3 gt 1 2 3 这两种形式似乎被评估为相同的结果 首先 它们可能看起来相同 但实际上并非如此 class list 1 2 3
  • Lisp / Clojure:编写函数生成宏是个好主意吗?

    这个问题 https stackoverflow com q 7852351 346587要求创建一个 Clojure 宏来生成多个函数 我们找到了一种方法来做到这一点 但仍被 这是一个好主意吗 的问题所困扰 我的第一反应是并不真地 有两个
  • Clojure gen-class 返回自己的类

    我现在正在使用 Clojure 创建一个类对象 它有一个返回对象本身的方法 用Java编写的 我想要制作的对象是这样的 class Point public double x public double y public Point dou
  • 无法使用 Leiningen 构建 jar

    我正在尝试使用 Intellij 的 Cursive 中的 Leiningen 插件从我的基本 Clojure 项目中制作一个独立的 jar 为了创建项目 我刚刚创建了 project clj 文件 将其打开 Cursive 提出将其导入为
  • 为从 nginx 反向代理转发的请求添加唯一 id

    我们运行 nginx 作为反向代理 将请求转发到运行 Compojure 的 Clojure 应用程序 Compojure 是一个封装 Jetty 的库 为我们的应用程序提供服务 Web 请求的能力 目前 我们捕获 nginx 和 Cloj
  • 面向 Clojure 用户的 Java

    我一直在断断续续地使用 Lisp 并且正在赶上 clojure clojure的好处是我可以自然地使用所有的java函数 而clojure的坏处也是我必须自然地了解java函数 例如 我不得不花一些时间 谷歌搜索 来查找 Java 中的平方
  • 从 JVM 线程本地空间卸载 Clojure 变量

    我正在 Clojure 中为 BaseX 编写一个插件 通过 lein uberjar 构建 并包含 Clojure 解释器 在大多数情况下 这效果很好 然而 当通过 BaseX HTTP 实例运行时 评估在 Jetty 的线程池内进行 而
  • 宏、Clojure 与 Common Lisp

    我和我的一些朋友正在开发一个新平台 我们想用 lisp 构建它 主要吸引力是宏 我们都使用 Common Lisp 但我想探索 Clojure 的选择 当我提出这一点时 其中一位说宏观体系 较弱 我想知道这是否属实 以及在哪些领域 就您可以
  • 为什么 clojure future 会阻塞主线程?

    我有一个简单的 lein 项目 其中 main包含一个未来 def f future 42 defn main args println f 当我跑步时lein run它打印42但不返回 我不明白为什么它不返回 如何得到lein run回来
  • 这两个 clojure 函数之间有什么区别和问题?

    对于课程项目的一部分 我正在实现一个函数来从文件中读取一些数据并根据该文件创建图形结构 一整天我问了几个问题 结果就是这样 下面是一个可以正常工作的函数 它首先以惰性序列的形式读入文件 然后循环解析每一行并将其打印出来 defn print
  • 如何应用Clojure? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在学习 Clojure 我真的很喜欢它的一些功能 是时候考虑一 些真正的 宠物项目 了 我意识到我不知道如何真正做到这一点use克
  • 将向量作为绑定传递给 for 宏时出现问题

    我有任意数量的列表 我想使用 for 宏来处理它们 我想创建一个传递向量作为绑定的函数 因为列表的数量各不相同 如果我对绑定进行硬编码 它会按我的预期工作 gt def list1 pink green gt def list2 dog c
  • Clojure Web 应用程序 - 我从哪里开始?

    最近我一直在研究 Clojure 我喜欢这门语言 我想看看我是否可以在其中制作一个小型网络应用程序 只是为了挑战自己 但是 我完全没有设置任何与 Java 相关的 Web 应用程序的经验 事实上 我对 Java 并没有太多的经验 我从哪说起
  • Clojure读行函数问题

    我试图在我的 Clojure 程序中获取控制台输入 但是当它到达程序的该部分时它给我这个错误 Exception in thread main java lang ClassCastException clojure lang LineNu
  • 在 Clojure 中退出 Recur 循环

    我想跳出下面的循环 并在第 10 行计算结果为 true 时返回最佳最小移动 我查看了 print 语句的输出 当第 10 行的计算结果为 true 时 它 找到了我正在查找的数据 但仍然重复出现 在 Clojure 中 有没有办法在语句计
  • Scala - Java = ? (或者 Clojure - Java = ?)

    开发人员可以在不懂 Java 的情况下使用 Scala 吗 开发人员可以在不懂 Java 的情况下使用 Clojure 吗 注意 例如 我是一名 C 开发人员 我在不了解任何 VB 的情况下使用 NET 当然 WF 4 0 使用 VB 进行
  • Clojure 集合与序列的相等性

    我注意到 Clojure 1 4 似乎很乐意考虑向量等于seq相同的向量 但同样不适用于地图 1 2 seq 1 2 gt true 1 2 seq 1 2 gt false 为什么要这样的行为 这样会有所不同吗 Clojure 的 可以认
  • 为什么我收到无法动态绑定非动态变量?

    我正在尝试使用 clojure tools trace 命名空间的 dotrace 函数 dotrace my function my function 5 但我收到了这个错误 IllegalStateException 无法动态绑定非动态
  • 确保 Clojure 中只有一个服务实例正在运行/启动/停止的规范方法?

    我正在用 Neo4j 支持的 Clojure 编写一个有状态服务器 它可以服务套接字请求 例如 HTTP 当然 这意味着我需要能够从该服务器内启动和停止套接字服务器 在设计方面 我希望能够在此服务器中声明一个 服务 并启动和停止它 我在 C
  • 从不带破折号的字符串创建 UUID

    如何从不带破折号的字符串创建 java util UUID 5231b533ba17478798a3f2df37de2aD7 gt uuid 5231b533 ba17 4787 98a3 f2df37de2aD7 tl dr java u

随机推荐

  • 来自 HTTPS URLSession.dataTask 的 0 字节数据

    我正在尝试从 URL 检索一些 JSON 数据 但它每次在数据中返回 0 字节 我检查了几个不同的 SO 帖子 但似乎没有一个与我遇到的确切问题相符 因为我从中获取数据的服务器确实使用带有 TLS 1 2 的 HTTPS 所以我不认为有任何
  • 边框位于文本下方但不穿过文本

    我正在为我的杂志做网页设计 现在 我正在尝试制作类似于 1996 年标题的内容 如下图所示 文本下方有边框 但文本周围有白色背景 任何人都可以帮助我做到这一点吗 当然可以 试试这个 HTML div class heading h1 Hea
  • DAX 相当于 Excel PERCENTRANK.INC 每个类别

    我想在 DAX 中计算 Excel 函数 PERCENTRANK INC 的等效项 但按类别计算 我承认我什至不知道如何计算类别 任何提示将不胜感激 以下是示例数据的 M 代码 let Source Table FromRows Json
  • 如何禁用非员工用户的可浏览 API (is_staff=False)?

    就我而言 我使用 Django REST Framework DRF 作为内部 api 它不适合普通用户使用 因此我想为普通用户禁用它 an admin is staff True should be able to access it a
  • ALM 12:通过 REST 进行身份验证返回 400 错误请求

    我遵循这里的指导 http alm help saas hp com en 12 50 api refs REST TECH PREVIEW Content General Session Management html http alm
  • 如何知道以下代码将创建多少个对象?

    当涉及到字符串时 我对对象的情况感到有点困惑 所以想知道使用以下代码将创建多少个对象 以及有关字符串池和堆的字符串对象创建的一些解释 public static void main String args String str1 Strin
  • D3D11坐标系

    我的一些旧代码最终出现了一堆令人讨厌的黑客行为 以使事情 正确 工作 在移动物体和相机方面 例如必须采用 std sin yaw 而不是 std sin yaw 在实现在线其他地方找到的方程时 通常会让一切变得混乱 在许多情况下都达到了追踪
  • iOS 9 UITableView 分隔符插入(显着左边距)

    我的分隔符有问题UITableViewCells in UITableView on iOS 9 他们有很大的左边距 我已经有用于删除间距的代码iOS 8但它不适用于iOS 9 看起来他们还添加了其他东西 我想它可能与布局边距指南 http
  • 找不到表“cdc.lsn_time_mapping”

    我正在开发一个调用此函数 sys fn cdc map time to lsn 的遗留系统 并且出现以下错误 Invalid object name cdc lsn time mapping 我在对象资源管理器中找不到此表 这个功能有替代品
  • 在句子边界分割文本文件

    我必须处理一个文本文件 一本电子书 我想对其进行处理 以便每行有一个句子 换行符分隔的文件 是吗 我如何使用 UNIX 实用程序 sed 来完成此任务 它是否有一个 句子边界 的符号 就像 单词边界 的符号一样 我认为 GNU 版本有这个
  • 让C代码自动绘制图表

    我编写了一个程序 它将数据列表写入 dat 文件 然后使用 gnuplot 单独绘制它 有没有办法让我的代码自动绘制它 我的输出的形式如下 x coord analytic approximation x coord analytic ap
  • Android - 将 TXT 文件作为电子邮件附件发送失败(“无法发送附件”)

    我试图让我的 Android 应用程序发送一封带有附件的电子邮件 并且我从 txt 文件开始 因为这些很简单 到目前为止 我有这个 发生在片段内 Send the email Intent mailIntent new Intent Int
  • strcmp() 的分段错误

    if strcmp argv 2 NULL 0 我传递了 3 个命令行参数 但我也想通过上述语句仅使用 2 个命令行参数来运行它 但正在显示分段错误错误 我也尝试过 if argc lt 3 但它也不起作用 同样的分段错误 为什么分段错误
  • 如何在命令之后 console.log 消息的第二部分

    我正在创建一个名为 note 的命令 它将向控制台发送一条注释供我查看 我似乎无法弄清楚如何在命令之后分割第二部分 然后将其记录到控制台 谢谢 这很简单 let msg message content split slice 1 join
  • 如何禁用Java安全管理器?

    有没有办法完全禁用Java安全管理器 我正在尝试db4o的源代码 它使用反射来持久化对象 并且安全管理器似乎不允许反射读取和写入私有或受保护的字段 My code public static void main String args th
  • 单击 jstree 时更改图标

    我有使用 jstree 插件的代码 gems tree on changed jstree function event data console log folder clicked 它可以工作 但现在我想将文件夹的图标更改为关闭以打开
  • Web Essentials 的 RTLCSS 工具不起作用

    我正在将 Web Essentials 扩展与 Visual Studio 2013 一起使用 我想使用 Web EssentialsCSS RTL tool 但是当我在 CSS 文件上运行该工具时 什么也没有发生 Web Essentia
  • ModelState 错误:值“null”对于可为空的字段无效

    ModelState 会抛出错误 因为可空字段为空 我有一个模型 public class PersonModel public int ID get set Required StringLength 256 public string
  • 将测试用例连同参数和附件从 TFS 迁移到 VSTS

    我们计划将测试用例 构建定义和代码从 TFS 迁移到 VSTS 但似乎我们无法将 MTM 中存在的测试用例中的参数和附件移动到 VSTS 我们有办法完成这件事吗 很难将带有参数和附件的测试用例从 TFS 单独迁移到 VSTS 看批量迁移工作
  • 从 compojure 提供 index.html 文件

    我是 clojure 和 compojure 的新手 并尝试使用 compojure 和 Ring 来创建一个基本的 Web 应用程序 这是我的 handler clj ns gitrepos handler require compoju