问题标签 [clojurescript]

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 回答
2853 浏览

d3.js - 这会被认为是惯用的 ClojureScript 吗?

我正在试验/学习 ClojureScript。以下代码片段与优秀的 d3.js 库接口以显示一些圆圈。发现它有点冗长,不求助于宏,有没有办法优化/最小化它?

谢谢

0 投票
1 回答
1036 浏览

jquery - 如何在 Clojurescript 中使用 jayq 从事件中获取数据?

我正在尝试从 jayq 的事件中获取修改器密钥数据(请参见此处)。

这工作得很好

但这不是。

Chrome 中的 Javascript 控制台给了我Uncaught TypeError: Property 'metaKey' of object #<Object> is not a function

0 投票
3 回答
348 浏览

javascript - F#/Clojure 到 Javascript:与环境和 javascript 库的交互

我一直在研究(主要是)可以转换为 Javascript 的函数式语言,而这两种语言如今已经名列前茅。但是我对它们有两个疑问,(谈论 ClojureScript 和 Pit for F#):

  • 我想,由于两者都只是翻译原始语言,所以在调用任何 .Net 或 Java 时,程序无法直接编译为 Javascript。我说得对吗?如果是这样,在这种情况下,与 Java/.Net 环境交互的能力是“危险的”。
  • 据我所知,ClojureScript 可以与任何 JS 库(node.js、jquery 等)进行交互,而在 Pit 中,他们正在开发“扩展”以允许这样做......所以我假设导入任何 js 库不支持。我在 SO 中读到 WebSharper 确实支持这一点,但没有太多证据并且是封闭源代码。那么,在实践中,两种语言的任何 JS 交互的实际状态如何?

非常感谢!

0 投票
2 回答
674 浏览

clojure - aset 不在 clojurescript 中链接

我在 clojurescript 中找到了一个结果,其中 aset 被链接:

然而

0 投票
2 回答
1328 浏览

clojure - 使用 clojurescript 包装 knockout.js

我正在尝试将 knockout.js 包装在 clojurescript 中,但它变得非常困难。我遇到的问题是对“this”变量的引用。我正在考虑放弃并直接使用javascript。

我已经从http://knockoutjs.com/examples/helloWorld.htmlhttp://knockoutjs.com/examples/contactsEditor.html拿了例子

我已经设法用一些宏来包装简单的功能。例如:

变成:

但是,对于更难的事情,例如:

我不确定我可以在 clojurescript 中做什么来匹配这样的代码:this.allItems.push(this.itemToAdd())

有什么想法吗?

0 投票
1 回答
437 浏览

clojure - clojurescript (js* "c=1") 不起作用

这一直困扰着我一段时间。在 repl 我可以输入:

但如果我输入:

为什么会这样?

0 投票
2 回答
1625 浏览

clojure - Clojure:最小的 ClojureScript 两人聊天

编辑 01

听起来像网络套接字是我想要的。

技术背景:

我熟悉 Clojure + ring + 镇静。

我开始学习 ClojureScript。(有 lein-cljsbuild 设置;还花时间“手动”安装 ClojureScript 只是为了看看它是如何工作的。)有基本的(警报(问候“ClojureScript”))演示工作。

我要创建的内容:

我想创建一个基本的两人记事本(即 Instant Messenger 或两人 IRC 频道)。我希望有一个 Clojure 服务器。当客户端连接时,它会显示一个文本簿;用户输入一些单词,clojure 更新给其他用户。

问题

我需要一些帮助才能开始。Google Closure 是一个大图书馆,我想了解以下内容:

(1) 如何设置基本连接以获取我的 cljs 代码和我的 clj 代码以相互发送数据

(2) 一旦我的 cljs 代码收到新数据,我如何让它更新 DOM?

我认为这是两个主要的东西——如果我有这个,它将为理解 clojurescript 的其余部分提供一个框架。

谢谢!

0 投票
5 回答
7136 浏览

clojure - 如何调试 ClojureScript

对于这个看似愚蠢的问题,我深表歉意,但我已经断断续续地使用 ClojureScript 几个星期了,我无法弄清楚这个简单的问题:

如何调试 ClojureScript?

所以这里是问题:

  1. 我写我的 *.cjs 文件
  2. 我运行 cljsc/build ...
  3. 我加载我的网页。
  4. 有不好的事情发生。
  5. 我打开 Firefox 控制台。
  6. 我在生成的 js中得到了一行,我觉得难以理解,而且我不知道它来自原始 cljs 文件的哪一行。

我的问题:

开发 ClojureScript 应用程序的正确方法是什么?

PS 我看过 ClojureScriptOne——我不喜欢它的地方是它同时将一堆技术串在一起;而且我更愿意在将它们链接在一起之前了解如何单独使用每个单独的部分。

我对 ring + mustache + compojure 很满意,[主要是因为我可以使用标准的 Clojure 调试技术],但 ClojureScript 是另一种野兽。

更新:自从第一次提出这个问题以来,情况发生了很大变化。现在调试 ClojureScript 应用程序的正确方法是启用源映射 - http://github.com/clojure/clojurescript/wiki/Source-maps

0 投票
3 回答
3625 浏览

clojurescript - Clojurescript:将 cljs 映射转换为 javascript 哈希

以下代码段不起作用

原因:

{ ... } 创建一个 Clojurescript 映射。我需要一个 javascript 对象/哈希。

问题:

我如何进行这种微不足道的转换?

0 投票
1 回答
383 浏览

emacs - 如何同时启动低级 lisp 和 swank

我正在做 clojure 和 clojurescript 开发。我通常通过 clojure-jack-in 函数启动 clojure,并通过以下函数启动 clojurescript repl -

clojure-jack-in 开始 swank 而上面的函数开始了 lisp。但是,它们都具有相同的键绑定。如何更改键绑定以同时使用它们?

谢谢,穆尔塔萨