问题标签 [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.
clojurescript - 在 ClojureScript 中使用 MathJax
我想在 ClojureScript 程序中使用 MathJax 在 DOM 元素中排版一些数学,而不是整个页面(有效),只是这个特定的 DOM 元素。(它是 Markdown 编辑器的实时预览窗格,它还可以将数学格式化为 Latex 格式。)
根据MathJax 站点上的文档页面,您可以在 JavaScript 中使用类似的东西。
我一直在使用试错法,但没有得到正确的结果。像这样的东西:
编译并且在运行时不会产生任何错误,但也不会产生任何输出。
使用js*
宏尝试重现文档页面上的方法:
在浏览器中生成一条错误消息,指出“错误:无法从给定数据进行回调”。
另外:假设我可以获得正确的语法以进行排版,任何有关如何设置externsfigwheel
文件以用于优化构建的指导将不胜感激。
clojurescript - 从 javascript 回调中返回值
我无法从回调中返回值。我正在使用https://github.com/transducer/cljs-iota,它是 IOTA javascript 库的包装器。
我的代码是:
回调函数是:
如果我做
回调打印到控制台:
这是我想要的结果,但我得到了"result is" undefined
.
我已经被阻止了一整天,我不知道为什么我不能返回结果(如果我尝试返回例如“你好”它也不起作用),我的函数工作是因为我得到结果,但不能返回它......
如果有人有建议...
clojurescript - NPM 包无法在 Clojurescript 中编译
我正在尝试将uber/react-map-gl与 Clojurescript 一起使用。我已将其添加到project.clj
-
并npm install
单独编辑。当我从我的 ns 要求它时 -
M
已正确记录到控制台,但深入研究属性(例如BaseControl
)会引发异常 -
少数属性是可访问的(例如,没有例外),例如TRANSITION_EVENTS
和FlyToInterpolator
。
我看到了这个错误(可能相关也可能不相关),但我不确定如何继续甚至排除故障。这是重现的最小失败示例。任何帮助,将不胜感激。
clojurescript - Clojurescript — PersistentArrayMap → Object → PersistentArrayMap — 在 web worker 之间传输数据
我正在尝试将 clojurescript 映射传递给网络工作者。在我通过之前,它的类型是PersistentArrayMap
.
但是,当它到达工人时,它只是一个普通的旧对象
数据看似完好无损。在这一点上,我想把它变回 aPersistentArrayMap
以便我可以再次在 cljs 中使用它。
使用clj->js
andjs->clj
并没有真正起作用,因为它不区分关键字和字符串,所以会丢失一些数据。
处理这种情况的最佳方法是什么?我可能会以完全错误的方式处理这个问题。
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
clojurescript - 发射困难, 使用 clojurescript + 试剂 + cljsjs/ag-grid-react
我正在尝试ag-grid
在 Reagent 中使用 React(ag-grid 参考),但在发射时遇到问题 node AgGridReact
,
使用pesterhazy方法实现了 React.Component ,但从 AgGridReact
rendor 方法发射不起作用。请用打嗝语法提出更好的方法,
我正在从 render 方法中检查类似的内容:
仅供参考,我使用命令创建项目lein new reagent reagent-aggrid
,并使用lein figwheel
网格参考[cljsjs/ag-grid-react "17.0.0-0"]
*********更新 :**
使用下面解决了这个问题,样品试剂-Aggrid
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
错了吗?
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,供任何想尝试的人使用。
clojurescript - 使用 js->clj 转换为 json 时如何将关键字保留在数组中?
我的实际行为是
期望的行为
clojure - Clojure 规范:地图?失败是因为规范认为我的数据结构是向量?
我正在尝试验证 Spec 中的大型 clojure 数据结构。
我在这部分失败了:
使用这个:
此消息失败(来自说明)
如果我在 repl 中单独运行上述规范,它就可以工作。
但是在上下文中(在 clojurescript 文件中),它看起来好像数据结构在被测试之前正在某个地方被转换为向量。
有没有人见过这样的事情?
会不会是在 ClojureScript 中这样做的结果?这是一些奇怪的javascript强制泄漏并咬我吗?
或者它可能是完全不同的东西?