You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在nbb中配置并使用ClojureScript的Hiccups库?

在nbb中使用Hiccups库的正确配置示例

问题原因

之前报错是因为引入了错误的Hiccups命名空间,Hiccups的核心渲染功能位于hiccups.core命名空间,而非根hiccups命名空间。


1. 配置依赖文件(nbb.edn)

在项目根目录创建该文件,声明Hiccups依赖:

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

2. ClojureScript脚本(example.cljs)

;; 定义命名空间,引入Hiccups核心模块
(ns example
  (:require [hiccups.core :as hiccups]))

;; 封装Hiccup转HTML的函数
;; 参数为Hiccup格式的数据结构,返回对应的HTML字符串
(defn render-html [hiccup]
  (hiccups/html hiccup))

;; 将需要暴露给Node的函数包装为JS对象
;; nbb的loadFile会返回这个对象供JS调用
#js {:renderHtml render-html}

3. Node调用脚本(index.js)

// 导入nbb的loadFile函数,用于加载ClojureScript文件
import { loadFile } from 'nbb'

// 异步加载example.cljs,解构出导出的renderHtml函数
const { renderHtml } = await loadFile('example.cljs')

// 调用渲染函数,传入Hiccup结构,打印结果
console.log(renderHtml(['span', 'Hello, World!']))

运行验证

在终端执行命令:

node index.js

会输出:

<span>Hello, World!</span>

内容的提问来源于stack exchange,提问作者Sir Robert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 11:35:12