问题标签 [shadow-cljs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
525 浏览

clojurescript - shadow-cljs - 套接字连接失败,服务器进程死了?

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

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

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

我能做些什么来解决这个问题?

0 投票
1 回答
2184 浏览

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

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

节点中的导入是:

import styles from './styles.css'

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

0 投票
1 回答
56 浏览

npm - Using the resulting object from require call in ClojureScript?

In JavaScript there is the idiom:

How do I do the same thing in ClojureScript using Shadow-CLJS for npm modules?

0 投票
1 回答
320 浏览

clojurescript - 如何将 ClojureScript 编辑器与 shadow-cljs 和 vim-fireplace 集成

如果我们想用 figwheel 和 vim-fireplace 做编辑器集成,我们需要使用 piggieback。捎带中的文档足以设置它。但是,设置 shadow-cljs 和 vim-fireplace 似乎相当困难,因为没有关于此的文档,也没有示例。

0 投票
1 回答
93 浏览

javascript - 在 React 项目中使用现有的 cljs 组件?

https://www.reddit.com/r/Clojure/comments/4el0xi/how_to_use_an_existing_reactjs_component_with/

有一篇关于在 CLJS/Reagent 项目中使用现有 ReactJS 组件的现有帖子。我正在寻找相反的做法。我有一堆 CLJS 组件,想将它们编译成某种 ui 库,以便 React 开发人员可以使用它们。也就是说,如果我有一个按钮 CLJS 组件,我希望能够在 React/js 应用程序文件中使用 < Button /> 或 mylib.Button(_) 等呈现该按钮。

我已经广泛阅读了这篇文章 - https://shadow-cljs.github.io/docs/UsersGuide.html#target-node-library - 但它并没有完全奏效。我一直在使用“:target :node-library”,我可以获得简单的函数(例如,返回字符串/数字)来编译和在我的应用程序中工作,等等。但它不适用于整个组件。例如,我的 cljs 按钮组件包含:

但是当我尝试传递这些参数时(我在我的 App.js 文件中调用 {lib.button({}, {})}),我得到了像“没有定义协议方法 IMap.-dissoc”这样的错误,因为我我相信,我试图将 JS 对象传递给仅限 CLJS 的函数。不知道如何解决这个..

如果有助于澄清,我可以对此进行更多解释。如果有人有参考演示项目或可以链接到我的任何资源,那也将非常有帮助。

0 投票
2 回答
502 浏览

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

我创建了一个 ClojureScript 项目,使用:

lein new re-frame my-project

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

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

我的问题是,我如何使用它说已经启动的 nREPL,最好如何在 IntelliJ 的集成 REPL 中访问它?

谢谢。

更新

已经让它工作如下,但如果有人知道如何让它在 Cursive / IntelliJ 中工作:

在此处输入图像描述

那将是超级的。

0 投票
1 回答
414 浏览

visual-studio-code - 没有应用程序连接到 REPL 服务器

我正在尝试使用 Calva REPL 在 VS Code 中评估一些 Clojure 表单。

当我运行这些命令中的任何一个时,都会出现错误:

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

它似乎不允许我切换名称空间。

在此处输入图像描述

0 投票
2 回答
1334 浏览

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

语境

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

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

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

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

问题”

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

完美世界 又名“问题”

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

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

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

我试过的

  1. 只有shadow-cljs

    给定以下shadow-cljs.edn文件:

    第一次观看:

    然后在另一个终端:(注意错误信息)

    /li>
  2. 使用 VS Code卡尔瓦

    给定与上面相同的shadow-cljs.edn文件:

    在此处输入图像描述

    当我尝试手动加载命名空间时Calva: Load current namespace in REPL window,我得到了同样的错误:

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

问题:我如何到达那个完美的世界?

0 投票
1 回答
1110 浏览

reactjs - 使用 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])

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

谢谢!

0 投票
1 回答
164 浏览

clojurescript - 如何在 Fulcro 中 npm 包?

我正在关注Fulcro 3 开发指南,使用 Javascript React 组件部分,使用Fulcro 模板项目,尝试导入Material-UI React 组件。

我添加了包npm install --save @material-ui/core并修改了demo_ws.cljs文件

并在控制台中出现错误: