标签: vscode-calva

如何将 ClojureScript 节点 REPL 连接到我的 :node-library shadow-cljs 项目?

语境

我正在使用 ClojureScript 和shadow-cljs构建一个 Node.js 库。
所有开发都是使用 ClojureScript 完成的,但构建工件是一个 NPM 包。例子:

(ns com.example.answer)

(defn answer [] 42)
Run Code Online (Sandbox Code Playgroud)

构建...发布...然后

const answer = require('answer');
answer(); //=> 42
Run Code Online (Sandbox Code Playgroud)

注意:我最近在这篇文章中贡献了我的构建设置的详细信息。

我的整个开发环境都在一个 Docker 容器中,我使用的是“Visual Studio Code Remote - Container”扩展。

问题”

我的构建设置工作正常(至少我认为是这样!)但我想实现更快的开发反馈周期。
换句话说:我不想为了测试几行更改而重建整个 NPM 包。

完美世界 又名“问题”

在一个完美的世界中,我应该能够打开 REPL 并能够始终评估我的 ClojureScript 代码。

无论我如何尝试到达那里,我似乎都被相同的潜在问题所阻止:

没有应用程序连接到 REPL 服务器。确保您的 JS 环境已加载您编译的 ClojureScript 代码。

我试过的

  1. shadow-cljs只:

    鉴于以下shadow-cljs.edn文件: …

node.js clojurescript shadow-cljs vscode-calva

6
推荐指数
1
解决办法
1032
查看次数

使用hugSQL def-db-fns宏时如何使用clj-kond避免未解析的符号?

我使用 VS Code Calva扩展编写 Clojure ,它使用clj-kondo对我的代码执行静态分析。

我正在使用HugSQL从 SQL 查询和语句创建 Clojure 函数。

我知道我可以使用像conman这样的库来处理数据库连接和 HugSQL 集成,事实上我过去使用过它并且我喜欢它,但这次我想保持原样并自己与 HugSQL 交谈。

HugSQL 的def-db-fns宏接受一个 SQL 文件,并根据该文件中包含的 SQL 查询和语句创建 Clojure 函数。

我下面的代码有效,但 clj-kondo 抱怨这seed-mytable!是一个未解析的符号。

(ns my-app.db
  "This namespace represents the bridge between the database world and the clojure world."
  (:require [environ.core :refer [env]]
            [hugsql.core :as hugsql]
            [nano-id.core :refer [nano-id]]))

;; This create the function seed-mytable!, but clj-kondo doesn't (cannot?) know it.
(hugsql/def-db-fns "sql/mytable.sql")

;; The functions …
Run Code Online (Sandbox Code Playgroud)

clojure hugsql vscode-calva clj-kondo

6
推荐指数
1
解决办法
998
查看次数