问题标签 [clojurescript-javascript-interop]

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 投票
1 回答
105 浏览

asynchronous - ClojureScript cljs.core.async/go 在 jsdom 中不起作用

我正在尝试使用Karmashadow-cljs作为测试运行器将 ClojureScript 测试从“Chrome Headless”迁移到jsdom 。

需要访问 DOM 或浏览器 API 的常规测试工作正常。但是使用的异步测试cljs.core.async/go不起作用。基本上,里面没有任何东西go被执行。

有谁知道可能出了什么问题?我错过了一些配置吗?它是唯一jsdom的问题还是cljs.core.async互操作性问题?

我在下面放了一个简单的测试示例

我在控制台中得到的结果是

使用的库版本:

业力配置:

0 投票
1 回答
79 浏览

npm - cljs.closure/build (closure.clj:319 3) 处的执行错误 (ExceptionInfo)。:bundle-cmd :none 失败——带有 webpack 的 clojurescript

我正在尝试在 Windows 上运行官方示例https://clojurescript.org/guides/webpack,执行时出现以下错误:

我的完整报告如下:

我尝试使用以下命令更改建议的“npx”和“webpack”命令:

"npx.cmd"

并使用可能的绝对路径:

"C:/Users/usuario/AppData/Roaming/npm/npx.cmd"

"C:/Program Files/nodejs/npx.cmd"

...对于“webpack”也是如此

还尝试将 'out/index.js' 更改为 './out/index.js' 并使用 {:deps {org.clojure/clojurescript {:mvn/version "1.10.773"}}} 版本而不是 1.10.741教程中建议。

知道发生了什么吗?

0 投票
2 回答
236 浏览

javascript - 基座不提供静态资源

我正在尝试在此处提供的 Pedestal 教程应用程序上进行构建。

我正在尝试添加 cljs 功能并尝试设置统一的 clojurescript 和 clojure 环境。

我的 deps.edn 文件如下所示:

我的 Shadow-cljs.edn 文件如下

我的文件夹结构如下所示:

在此处输入图像描述

除了使用 selmer 渲染 HTML 模板以创建带有“Hello, World!”的 H1 标签外,该网站没有做任何与基座教程不同的事情。或“你好,名字!”。在 html 中,我包含了由 shadow-cljs 从 clojurescript 生成的 main.js。

我的 core.clj 具有以下路由定义

如您所见,我已在资源路径中添加了资源文件夹。

我能够在并行终端中运行 shadow-cljs 和 clj 并按如下方式托管服务器: 在此处输入图像描述

当我查看托管页面的 chrome 时,我得到以下信息。 在此处输入图像描述

无论我做什么,我都无法将资源中的公用文件夹添加到客户端的 html 路径中。这样我就无法使用页面加载 main.js。这是为什么?我是 clojure 和 pedestal 的新手,所以也许我遗漏了一些明显的东西。请问有人可以帮我解决这个问题吗?我不确定如何进行。Pedestal 文档在这方面不是很详细。

  • 安倍
0 投票
1 回答
237 浏览

clojurescript - 无法使用 ClojureScript 检测 Metamask 登录

我是 ClojureScript 初学者,我正在尝试将我的应用程序连接到 Metamask 钱包。

过去我在一个纯 JS 项目上成功地使用了以下代码:

所以我试图把它翻译成 ClojureScript。这是我已经开始做的事情:

知道如何翻译 JS 代码吗?

请注意,我想互操作 web3.js 库(不使用 cljs-web3)。

谢谢

0 投票
1 回答
85 浏览

clojurescript - CLJS:将 JS 属性设置为对其调用方法的结果

我正在寻找修改网络应用程序中的一些现有文本,我正在使用如下表达式访问这些文本:

我特别想做的是通过搜索/替换来改变该文本:

理想情况下,我希望这样做而不必重复属性访问表达式。是否有任何现有的快捷方式?我正在设想类似 Raku 的object .= method(args)简写形式object = object.method(args);也许一个好的 clj 名称/模式是(.set! (access-expression) method & args). 我总是可以写一个宏,但想知道我是否忽略了一些已经存在的东西。

0 投票
1 回答
130 浏览

react-native - 在 ClojureScript 项目中使用 ReactNative 外部库 - 语法

我正在尝试在 clojurescript中使用react-native-swipe-list-view 。但是我在转换 cljs 代码中记录的 js 代码时遇到了一些麻烦。

文件:

我的 Cljs 代码:

在线工具

以上都没有奏效。我是 cljs 的新手。如果有人能告诉我如何将上面的js行转换为cljs,那将是一个很大的帮助。谢谢

0 投票
1 回答
65 浏览

leaflet - 带有 shadow-cljs 的 react-leaflet 出现不清楚的错误

当我为生产编译代码并部署到服务器但没有在本地获取它时,我收到此错误消息。我很困惑为什么我不能在本地重新生产

这是代码的样子

0 投票
0 回答
39 浏览

clojurescript - Clojurescript 无法为包含项目中的 js 文件所需的 .json 文件定义依赖项

我们将 Clojurescript 1.10.7xx 与 Reagent 一起使用,并导入了一个稍旧的 react-markdown 版本(版本 6.0.3)。该版本的 react-markdown 的源文件之一需要来自不同项目的 .json 文件:

这会在 Clojurescript (AFAIK) 生成的 cljs_deps.js 文件中创建对依赖项的引用:

但至少在使用 lein-figwheel 插件运行时,所需的 .json 文件本身永远不会被定义为依赖项。即,cljs_deps.js 文件中缺少此内容:

缺少的依赖项会阻止代码在 figwheel 下正确加载或重新加载,除非手动将缺少的依赖项插入 cljs_deps.js。

cljsbuild 是否有一个选项允许将 .json 文件的 require 语句合并到 Clojurescript 生成的依赖项中?