问题标签 [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 投票
2 回答
302 浏览

clojurescript - 在 ClojureScript 中使用 MathJax

我想在 ClojureScript 程序中使用 MathJax 在 DOM 元素中排版一些数学,而不是整个页面(有效),只是这个特定的 DOM 元素。(它是 Markdown 编辑器的实时预览窗格,它还可以将数学格式化为 Latex 格式。)

根据MathJax 站点上的文档页面,您可以在 JavaScript 中使用类似的东西。

我一直在使用试错法,但没有得到正确的结果。像这样的东西:

编译并且在运行时不会产生任何错误,但也不会产生任何输出。

使用js*宏尝试重现文档页面上的方法:

在浏览器中生成一条错误消息,指出“错误:无法从给定数据进行回调”。

另外:假设我可以获得正确的语法以进行排版,任何有关如何设置externsfigwheel文件以用于优化构建的指导将不胜感激。

0 投票
1 回答
303 浏览

clojurescript - 从 javascript 回调中返回值

我无法从回调中返回值。我正在使用https://github.com/transducer/cljs-iota,它是 IOTA javascript 库的包装器。

我的代码是:

回调函数是:

如果我做

回调打印到控制台:

这是我想要的结果,但我得到了"result is" undefined.

我已经被阻止了一整天,我不知道为什么我不能返回结果(如果我尝试返回例如“你好”它也不起作用),我的函数工作是因为我得到结果,但不能返回它......

如果有人有建议...

0 投票
1 回答
249 浏览

clojurescript - NPM 包无法在 Clojurescript 中编译

我正在尝试将uber/react-map-gl与 Clojurescript 一起使用。我已将其添加到project.clj-

npm install单独编辑。当我从我的 ns 要求它时 -

M已正确记录到控制台,但深入研究属性(例如BaseControl)会引发异常 -

少数属性是可访问的(例如,没有例外),例如TRANSITION_EVENTSFlyToInterpolator

我看到了这个错误(可能相关也可能不相关),但我不确定如何继续甚至排除故障。这是重现的最小失败示例。任何帮助,将不胜感激。

0 投票
2 回答
374 浏览

clojurescript - Clojurescript — PersistentArrayMap → Object → PersistentArrayMap — 在 web worker 之间传输数据

我正在尝试将 clojurescript 映射传递给网络工作者。在我通过之前,它的类型是PersistentArrayMap.

但是,当它到达工人时,它只是一个普通的旧对象

数据看似完好无损。在这一点上,我想把它变回 aPersistentArrayMap以便我可以再次在 cljs 中使用它。

使用clj->jsandjs->clj并没有真正起作用,因为它不区分关键字和字符串,所以会丢失一些数据。

处理这种情况的最佳方法是什么?我可能会以完全错误的方式处理这个问题。

0 投票
2 回答
244 浏览

clojurescript - d3 JavaScript 到 ClojureScript 的翻译

我想将以下 JavaScript 翻译成 ClojureScript:

创建此函数后,您应该能够使用数字调用它:

我的尝试如下:

给出:

react-dom.development.js:16545 Uncaught TypeError: module$node_modules$d3_scale$dist$d3_scale.scaleLinear.domain is not a function

0 投票
1 回答
149 浏览

clojurescript - 发射困难, 使用 clojurescript + 试剂 + cljsjs/ag-grid-react

我正在尝试ag-grid在 Reagent 中使用 React(ag-grid 参考),但在发射时遇到问题 node AgGridReact

使用pesterhazy方法实现了 React.Component ,但从 AgGridReactrendor 方法发射不起作用。请用打嗝语法提出更好的方法,

我正在从 render 方法中检查类似的内容:

仅供参考,我使用命令创建项目lein new reagent reagent-aggrid,并使用lein figwheel网格参考[cljsjs/ag-grid-react "17.0.0-0"]

*********更新 :**

使用下面解决了这个问题,样品试剂-Aggrid

0 投票
2 回答
360 浏览

clojurescript - 如何在 ClojureScript 中编写不可知的 JavaScript 库?

假设我有一个cljs包含以下内容的文件:

并希望将其作为 JavaScript 库提供给非 ClojureScript 开发人员(主要关注 node.js)。我可以做这个:

但问题是输出面向谷歌闭包的模块系统(例如goog.require)。我可以none使用-t标志将目标设置为(而不是浏览器或节点),并且...不能解决这个问题。将它设置为node也不能解决问题:no index.js(它在 Java 中称为 main),no module.exports = blah blah. 似乎它面向独立的全节点应用程序,而不是库。

我知道 ClojureScript 对它自己的子模块使用 google 闭包,我不一定希望摆脱所有这些(我不确定你是否可以)。我知道 es2015 原生 JavaScript 模块因为它们的静态特性而被淘汰了。

可以手动或通过脚本按摩输出以与 npm 生态系统配合使用,但令我惊讶的是,没有编译器选项可以实际输出对 npm 友好的模块。或者有吗?我只是读--help错了吗?

0 投票
1 回答
376 浏览

clojurescript - 在 re-frame 应用程序中使用 rc-animate 对 antizer 表进行动画处理

我正在尝试在http://react-component.github.io/table/examples/animation.html中重新创建示例,以将动画添加到重新框架应用程序中的表中。该表是使用antizer呈现的,它是Ant Design react 组件的ClojureScript 库。对于动画,我尝试使用rc-animate(如示例中所示),它是一个 JavaScript 库。为了集成 rc-animate,我按照官方 Webpack指南创建了一个src/js/index.js文件:

project.clj的是:

在我views.cljs的尝试中,我尝试像这样渲染表格:

我完全不确定

相当于示例中的行

该表正确呈现,但是当我尝试删除一行时,它失败并出现以下错误跟踪:

还表明:

我是 Clojure 初学者,对 React 的了解更少;这是我经过一周的尝试后最终到达的地方,但现在我觉得卡住了。我已将我的项目上传到github,供任何想尝试的人使用。

0 投票
1 回答
289 浏览

clojurescript - 使用 js->clj 转换为 json 时如何将关键字保留在数组中?

我的实际行为是

期望的行为

0 投票
1 回答
202 浏览

clojure - Clojure 规范:地图?失败是因为规范认为我的数据结构是向量?

我正在尝试验证 Spec 中的大型 clojure 数据结构。

我在这部分失败了:

使用这个:

此消息失败(来自说明)

如果我在 repl 中单独运行上述规范,它就可以工作。

但是在上下文中(在 clojurescript 文件中),它看起来好像数据结构在被测试之前正在某个地方被转换为向量。

有没有人见过这样的事情?

会不会是在 ClojureScript 中这样做的结果?这是一些奇怪的javascript强制泄漏并咬我吗?

或者它可能是完全不同的东西?