如何在 nbb 中使用 ClojureScript 的 Hiccups 库

问题描述 投票:0回答:0

我正在使用 nbb 文档中关于从节点调用 nbb 的示例,它按预期工作,通常使用以下(稍作修改)片段:

;; example.cljs
(ns example)

(defn greet [name] (println "Hello," name)

;; this JS object is the return value of loadFile:
#js {:greet greet}
// index.js
import { loadFile } from 'nbb'

// destructure JS object returned from .cljs file:
const { greet } = await loadFile('example.cljs')

// execute the foo function
greet("World");
$ node index.js
Hello, World

我想使用 ClojureScript 的 hiccups 库,但我似乎不太清楚如何连接它。

我试过的

我尝试将 hiccups 库添加到 nbb.edn 文件(如 nbb 文档中其他地方所建议的),如下所示:

{:deps
 {hiccups/hiccups {:mvn/version "0.3.0"}}}

然后像这样在 example.cljs 文件中要求它(改编自 hiccups 文档)

(ns example
  (:require [hiccups :as hiccups]))

;; ... etc.

我还尝试了其他或多或少在黑暗中刺伤但没有做任何有用的事情。

错误

但是我得到的错误有点太神秘了,我还无法弄清楚:

$ node index.js 
Downloading dependencies...
Error: Could not find or load main class clojure.main
Caused by: java.lang.ClassNotFoundException: clojure.main
Exception in thread "main" java.io.FileNotFoundException: /home/sirrobert/.clojure/.cpcache/A4CEF68F951217FE6FE54759160B5276.cp (No such file or directory)
... 100 more lines ...

很明显,当 nbb 开始解释脚本时,它正在尝试下载 deps,但是有一些 babashka 失败...

要求

有人可以提供一个示例脚本来说明如何连接吗?最好有评论。只是一个简单的

(println (html [:span "Hello, World!"]))
类型的脚本就足以让我开始。

谢谢!

node.js clojurescript babashka
© www.soinside.com 2019 - 2024. All rights reserved.