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

clojure - 如何实际使用 ClojureScript?

我不明白 ClojureScript 的想法。例如,我正在编写一个 Web 应用程序,我需要编写一些 javascript。我应该使用会为我生成 javascript 的 ClojureScript 吗?寻求一些指导。

谢谢

0 投票
2 回答
781 浏览

javascript - 交付 ClojureScript 桌面应用程序的最正常方式是什么

我有一个用 Clojure 编写的桌面应用程序,它受 JVM 启动时间的影响很大,并且非常适合 ClojureScript。它作为 JVM 的 jar 文件交付,ClojureScript/JavaScript 的等价物是什么?

0 投票
3 回答
7195 浏览

clojure - 如何从本地存储中提取整数并使用 clojurescript 强制转换为整数

我正在尝试使用一个简单的 clojurescript 应用程序从 localStorage 中提取一个整数。我尝试过的所有事情最终都出现了某种错误行为。

下面是我的程序,没有从本地存储初始化。我将忽略 key not found 的情况,因为我有一个 JQuery 版本来处理它以启动存储。此外,JQuery 应用程序读取 ClojureScript 保存到 localStorage 很好。所以这对我有用。

快速总结是这样的。我的消息说“自上次事件以来已有 $number 天” $number 位于名为“counter”的 div 中。我有三个按钮;一个增加计数,一个减少计数,最后一个将计数重置为零。

当我尝试使用 goog.math.Integer.fromString() 转换为整数时,对 inc 的调用将在末尾附加一个 1(7 转到 71 和 711)。对 dec 的调用将按照我的预期进行,以数字方式递减(711 变为 710 和 709)。这就是我尝试初始化它的方式。

我意识到这是一个 goog.math.Integer 对象,所以我尝试调用 .toNumber() 。但是这个和 .toInt() 似乎给了我一个功能。函数 (){if(this.e==-1)return-w(this).D();else{for(var a=0,b=1,d=0;d=0?e:Ua+ e) b;b =Ua}return a}} 准确地说。

Clojure 似乎使用 java 的 Integer 类从字符串转换为 int 甚至到有 (int "1") 抛出的地步,所以这个想法被击中了。

我还尝试调用 javascript 的 parseInt()。这就是我在 JQuery 版本中的做法。但是,ClojureScript 调用始终返回 1。即使我的 JQuery 版本存储了 8,Chrome 的开发人员工具也证明了这一点。

任何想法如何让该字符串值表现为整数?它必须很简单,但我无处可去。

0 投票
8 回答
8619 浏览

clojure - 任何clojurescript教程?

是否已经有一些关于 ClojureScript 的好教程?我想尝试一下,但不知道从哪里开始。

0 投票
2 回答
1418 浏览

clojurescript - 对服务器端和客户端的网站使用 clojurescript

我正在考虑使用 ClojureScript 建立一个网站。在客户端和服务器端都编写 ClojureScript 是否有意义,就像 node.js 一样?

0 投票
2 回答
1545 浏览

javascript - 如何将我自己的 JavaScript 库添加到 ClojureScript?

我想使用 ClojureScript 编写一个 Google Chrome 扩展。使用 ClojureScript,我可以使用所有 Google Closure 库,但这些库中不包含对 Chrome 浏览器的 afaik 访问。所以我想把所有 Chrome 的东西都包装在我自己的 JavaScript 库中。

到目前为止,我尝试创建自己的 jar,它有一个 JavaScript 文件,它只创建一个 Foo 对象并导出构造函数。我已将此 jar 添加到 ClojureScript 编译器的 lib 目录中(例如 goog.jar),但到目前为止没有运气:

有没有人试过这个?

0 投票
1 回答
279 浏览

javascript - Javascript 作为可调试的字节码

输出 javascript 的语言有所增加,例如 CoffeeScript 和 ClojureScript。由于 javascript 不会很快消失,我认为这种发展模式将继续下去。

人们遇到的一个问题是您用一种语言编写代码并用另一种语言进行调试。C 和程序集之间的关系也是如此,但生成的程序集可以嵌入调试元数据,以便 C 调试器知道程序集与 C 源代码的关系。例如:这个程序集块代表的行号。

现在我的问题是:

有没有人知道任何类似的努力允许将调试元数据嵌入到来自 CoffeeScript 和 Clojurescript 等语言的结果 javascript 中?

据我所知,这至少需要一个支持这种理论元数据的调试器。

0 投票
2 回答
6964 浏览

javascript - Clojurescript 中的 Javascript 互操作分配

愚蠢的问题:如何在 Clojurescript 中进行 Javascript 赋值?我正在使用 Javascript 库,需要设置对象字段的值,例如obj.this=that;- 我不知道 Javascript,所以也许有一个 .set 方法?

0 投票
2 回答
534 浏览

clojure - 将 ClojureScript 与 OpenJDK 一起使用的解决方法?

我一直在使用 Clojure 和 Noir 开展一个项目,我正在享受 Heroku 的 cedar 堆栈上的免费托管。我最近在 ClojureScript 中添加了一些 UI 工作,发现它可以在本地工作,但由于使用 OpenJDK 而在 Heroku 上崩溃。OpenJDK 在不同的命名空间中有 Rhino JavaScript 引擎。

有没有人听说过解决这个问题的方法?可以将具有正确命名空间的 Rhino 版本安装为项目依赖项吗?或者是否有使用 Oracle JDK 的 Heroku 替代方案?

0 投票
2 回答
1693 浏览

clojurescript - 在 ClojureScript 中获取堆栈跟踪

在 Ubuntu 10.04.1 LTS 上的 FireFox 5.0 中运行的 ClojureScript 程序中,当抛出异常时,我得到一条神秘的线。

'错误:没有为类型对象定义协议方法 ISeqable.-seq:[object Object]' 调用方法时:[nsIDOMEventListener::handleEvent]

“-seq”位对我来说似乎很奇怪,我已经搜索了生成的 javascript 文件并没有找到它。

我希望我没有遗漏一些完全明显的东西,但是如何获得抛出异常的堆栈跟踪?你如何调试你的脚本?