标签: shadow-cljs

Shadow-cljs - 套接字连接失败,服务器进程死亡?

我在 ClojureScript 项目中使用shadow-cljs 。当我做

shadow-cljs watch app
Run Code Online (Sandbox Code Playgroud)

控制台记录错误shadow-cljs - socket connect failed, server process dead?

我重新启动了计算机,但错误仍然存​​在

我可以做什么来解决这个问题?

clojurescript shadow-cljs

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

如何将 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
查看次数

如何使用 shadow-cljs 在 ClojureScript 项目中加载 css 文件

我有一个styles.css文件,我需要从 a 加载它cljs以将它作为 aprops传递给反应库。

节点中的导入是:

import styles from './styles.css'

是否可以在 ClojureScript 中使用shadow-cljs?

clojurescript shadow-cljs

5
推荐指数
1
解决办法
1874
查看次数

多页应用的试剂配置

我的project.clj有,

  :cljsbuild {:builds
              {:app
               {:source-paths ["src/cljs" "src/cljc"]
                :compiler {:output-to "target/cljsbuild/public/js/app.js"
                           :output-dir "target/cljsbuild/public/js/out"
                           :main "my.core"
                           :asset-path "/js/out"
                           :optimizations :none
                           :source-map true
                           :pretty-print true}}}}
Run Code Online (Sandbox Code Playgroud)

我包括app.js在我的list.html, 使用Selmer中,就像这样,

{% block page-scripts %}
{% script "/js/app.js" %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

在我的最后list.cljs,我有

(r/render [list] (.getElementById js/document "content"))
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都很好。

现在,我想要另一个页面,比如说detail.cljs,我也想以类似的方式呈现,

(r/render [detail] (.getElementById js/document "content"))
Run Code Online (Sandbox Code Playgroud)

问题是,我只有一个app.js,并将其包含detail.html在其中也会呈现列表内容。顺便说一句,我想要一个list页面的 url,另一个detail.

问题:

我该怎么办?

clojure clojurescript reagent figwheel shadow-cljs

5
推荐指数
1
解决办法
520
查看次数

如何使用react 18和shadow-cljs reload重新渲染reagent ui?

当我们保存文件和shadow-cljs重新加载时如何重新渲染整个试剂树?

  • React 18 有新的 createRoot api
  • 甚至之前 - 如果没有任何改变,调用 render 没有任何效果

clojurescript reactjs reagent shadow-cljs

4
推荐指数
1
解决办法
1675
查看次数

使用 Shadow-CLJS 将 react-table 导入 ClojureScript

Web 开发新手在这里。我正在尝试将 NPM react-table 包与 ClojureScript/Reagent 项目一起使用。我无法正确导入包。我所做的:

1/通过NPM安装react-table,在我的项目目录下

2/在我的主命名空间中,我已经包含了 (:require ["react-table" :as rt])

在 REPL 中,我可以看到它正在建立一些连接,因为只要输入rt就会返回#js {:ReactTableDefaults #js {:data #js [], ...

我怎样才能真正创建一个表?我已经尝试过诸如

rt/ReactTable {:data [{:a 1 :b 2} {:a 3 :b 4} {:a 6 :b 8}] :columns [{:Header "a" :accessor "a"} {:Header "b" :accessor "b"}]} 但我一直在打 TypeError: module$node_modules$react_table$lib$index.ReactTable is not a function

我也读过https://code.thheller.com/blog/shadow-cljs/2017/11/10/js-dependencies-in-practice.html但这对我帮助不大。

更新- 使用 figwheel 我到达了某个地方,这就是我想在 shadow-cljs 中重现的内容:

在 project.clj 中: [cljsjs/react-table "6.8.6-0"]

在“视图”命名空间中: (:require [cljsjs.react-table] [reagent.core :as r])

然后这实际上显示了一个表格:

(def ReactTable …
Run Code Online (Sandbox Code Playgroud)

clojurescript reactjs clojurescript-javascript-interop shadow-cljs

3
推荐指数
1
解决办法
878
查看次数

启动连接到 lein 项目模板的 cljs nREPL

我使用以下命令创建了一个 ClojureScript 项目:

lein new re-frame my-project

然后我使用 Cursive 在 IntelliJ 中打开它。在终端中输入 后lein dev,它会提示我以下消息:

shadow-cljs - HTTP server available at http://localhost:8280
shadow-cljs - server version: 2.8.52 running at http://localhost:9630
shadow-cljs - nREPL server started on port 8777
shadow-cljs - watching build :app
[:app] Configuring build.
[:app] Compiling ...
[:app] Build completed. (203 files, 1 compiled, 0 warnings, 3.65s)
Run Code Online (Sandbox Code Playgroud)

我可以使用将我定向到 REPL 的链接打开服务器,但不能打开连接到浏览器的 nREPL。按照他们的文档,我输入shadow-cljs clj-repl到另一个终端,该终端打开一个 REPL,但没有连接到我的浏览器或项目。如果我输入(js/alert "hi m8")REPL,它会响应:

Syntax error compiling at (REPL:2:1).
No …
Run Code Online (Sandbox Code Playgroud)

clojure clojurescript cursive shadow-cljs

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

如何在shadow-cljs中管理静态文件?

例如,我有一个该项目的index.html。

我希望每当我构建项目时,它都会自动复制到公共项目中。有没有内置的方法来实现这一点?

clojurescript shadow-cljs

0
推荐指数
1
解决办法
509
查看次数