问题标签 [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 回答
444 浏览

clojure - 如何在 Clojure 中编译 ClojureScript

我想在 Clojure 中编译 ClojureScript 并且遇到了一些问题。我想做这样的事情:

wherecljs->js返回 JavaScript 代码。我猜Himera做了类似的事情(首先从字符串中读取 ClojureScript),但我对 ClojureScript 的了解还不够,无法弄清楚。

有没有简单的解决方案?

0 投票
1 回答
1558 浏览

clojurescript - Clojurescript 协议的用法?

首次尝试在 ClojureScript 中使用协议。以下是协议定义/实现:

我对如何调用协议中定义的函数感到困惑。

以下是实例化的代码:

上面的代码有效,并且可以使用以下形式访问属性:

我面临的问题是如何调用协议中定义的函数。以下形式会导致错误(运行时)。

浏览生成的 Javascript 代码,它的函数名称很冗长。

谢谢

编辑:认为我找到了答案。看起来我需要命名空间中的支持功能。

使用上面定义的功能,我能够访问这些功能。想知道这是否是正确的方法?

EDIT2:好吧,通过进一步分析生成的javascript代码,意识到不需要像上面编辑的辅助函数,函数调用需要以命名空间为前缀:

0 投票
1 回答
645 浏览

clojurescript - 动态 js-obj 查找

鉴于以下情况:

如何仅使用and vars获得1价值?这不仅仅是硬编码。objectkey(.-a object)

等效的 JavaScript 语法是object[key].

0 投票
1 回答
1422 浏览

jquery-ui - 在 ClojureScript 中使用 jquery-ui 和 jayq

我正在尝试将 jayq 与 jquery.ui.sortable 一起使用以使页面上的列表可排序。查看http://jqueryui.com/demos/sortable/似乎应该很简单:

编译为:

并抛出:

当我尝试将其包含在页面中时。有趣的是,当我将生成的代码粘贴到 js 控制台时,它确实在页面中工作,这对我来说意味着在执行该行之后加载了一些必要的东西。

我已经修改

在阅读 http://lukevanderhart.com/2011/09/30/using-javascript-and-clojurescript.html之后 ,这似乎还不够。我猜 jquery.ui 修改了 $ Prototype,但我不确定如何在 clojurescript 中完成此操作

如果有什么不同的话,我也在使用 noir 和 noir-cljs。

考虑将 jQueryUI 与闭包编译器一起使用,可能只是 jquery-ui 需要一个手卷的externs 文件才能使用,这可能是一项重大任务。任何人都可以确认吗?

0 投票
1 回答
71 浏览

clojure - 在我的 src/ 中扩展一个库

我正在寻找扩展 jayq 库(在 git + leingitdeps 上分叉不是一个选项)。我该怎么做?

我的项目布局看起来像这样

  • 项目
    • 源代码
      • 应用程序
      • 周杰伦
        • 核心.cljs

其中 core.cljs 应该包含我对 jayq.core 的新方法。然后我的应用程序尝试加载 jayq.core (它确实如此,但没有我的额外方法)

但是这不起作用,我做错了什么?

谢谢!

更新:

jayq 通过 lein deps 包含在内。我只是知道该方法在 js 控制台中不存在

0 投票
1 回答
537 浏览

clojurescript - clojurescript / twitter 引导工具提示 jayq

当我尝试在 dom 元素上设置 twitter 引导工具提示时

我明白了

我没有使用任何高级优化,并且将 jayq 与其他库(如数据表)一起使用也没有问题......

我错过了什么?

谢谢

0 投票
1 回答
178 浏览

clojure - ClojureScript Repl 安全性

我们有两台机器:

  • 服务器
  • 客户

服务器正在运行 Clojure + Ring + ... 标准 ClojureScript webstack。

客户端 = 一些运行 Chorme/Firefox/Safari 的机器

现在,假设服务器在端口 9000 上运行 ClojureScriptRepl 连接,客户端可以连接到该连接以设置 ClojureScriptOne Repl。

这允许服务器以某些方式控制客户端行为。

但是,这是否也允许客户端控制服务器?即,运行 ClojureScript repl 的行为是否允许客户端破坏/控制/执行服务器上的任意代码(就像运行 Clojure Repl 那样)。

谢谢!

0 投票
1 回答
603 浏览

clojure - 用 c2 生成 svg

我有以下代码,旨在将一组设备表示为 SVG:

试图render-config在 REPL 中进行评估,我得到:

对我来说,这看起来像是一个适当的 Hiccup 表示(当然unify是它的魔力)。

render-config然而,在网页上下文中进行评估时(使用singult),我只得到一个错误。在浏览器中生成一个非常简单的 SVG(基本上只有封闭的“框架”矩形)。

任何提示/提示?

干杯!

注意:render-config使用 进行渲染Hiccup,然后将结果输出到文件中,会得到 Inkscape 可读的 SVG 图像。

0 投票
2 回答
1232 浏览

clojure - ClojureScript 中的 Java 模式/引用等价物

当我在 Clojure 中时,我可以使用(re-pattern (java.util.regex.Pattern/quote foo))将模式字符串与另一个字符串完全匹配。如何在 ClojureScript 中做类似的事情?

编辑:我也发现了这个 -在 JavaScript RegExp 中复制 Java 的“Pattern.quote”的功能

0 投票
1 回答
2021 浏览

clojure - Resolve 函数在 ClojureScript 中引发错误,但在 Clojure 中没有

以下程序在 Clojure 中按预期工作,但在 ClojureScript 中引发错误。我想知道这是一个错误还是 ClojureScript 中根本没有该功能,或者我是否需要重新考虑我尝试这样做的方式。非常感谢您提前提供的帮助。