问题标签 [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.
asynchronous - ClojureScript cljs.core.async/go 在 jsdom 中不起作用
我正在尝试使用Karma和shadow-cljs作为测试运行器将 ClojureScript 测试从“Chrome Headless”迁移到jsdom 。
需要访问 DOM 或浏览器 API 的常规测试工作正常。但是使用的异步测试cljs.core.async/go
不起作用。基本上,里面没有任何东西go
被执行。
有谁知道可能出了什么问题?我错过了一些配置吗?它是唯一jsdom
的问题还是cljs.core.async
互操作性问题?
我在下面放了一个简单的测试示例
我在控制台中得到的结果是
使用的库版本:
业力配置:
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教程中建议。
知道发生了什么吗?
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 并按如下方式托管服务器:
无论我做什么,我都无法将资源中的公用文件夹添加到客户端的 html 路径中。这样我就无法使用页面加载 main.js。这是为什么?我是 clojure 和 pedestal 的新手,所以也许我遗漏了一些明显的东西。请问有人可以帮我解决这个问题吗?我不确定如何进行。Pedestal 文档在这方面不是很详细。
- 安倍
clojurescript - 无法使用 ClojureScript 检测 Metamask 登录
我是 ClojureScript 初学者,我正在尝试将我的应用程序连接到 Metamask 钱包。
过去我在一个纯 JS 项目上成功地使用了以下代码:
所以我试图把它翻译成 ClojureScript。这是我已经开始做的事情:
知道如何翻译 JS 代码吗?
请注意,我想互操作 web3.js 库(不使用 cljs-web3)。
谢谢
clojurescript - CLJS:将 JS 属性设置为对其调用方法的结果
我正在寻找修改网络应用程序中的一些现有文本,我正在使用如下表达式访问这些文本:
我特别想做的是通过搜索/替换来改变该文本:
理想情况下,我希望这样做而不必重复属性访问表达式。是否有任何现有的快捷方式?我正在设想类似 Raku 的object .= method(args)
简写形式object = object.method(args)
;也许一个好的 clj 名称/模式是(.set! (access-expression) method & args)
. 我总是可以写一个宏,但想知道我是否忽略了一些已经存在的东西。
react-native - 在 ClojureScript 项目中使用 ReactNative 外部库 - 语法
我正在尝试在 clojurescript中使用react-native-swipe-list-view 。但是我在转换 cljs 代码中记录的 js 代码时遇到了一些麻烦。
文件:
我的 Cljs 代码:
在线工具:
以上都没有奏效。我是 cljs 的新手。如果有人能告诉我如何将上面的js行转换为cljs,那将是一个很大的帮助。谢谢
leaflet - 带有 shadow-cljs 的 react-leaflet 出现不清楚的错误
当我为生产编译代码并部署到服务器但没有在本地获取它时,我收到此错误消息。我很困惑为什么我不能在本地重新生产
这是代码的样子
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 生成的依赖项中?