问题标签 [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.
clojure - 如何在 Clojure 中编译 ClojureScript
我想在 Clojure 中编译 ClojureScript 并且遇到了一些问题。我想做这样的事情:
wherecljs->js
返回 JavaScript 代码。我猜Himera做了类似的事情(首先从字符串中读取 ClojureScript),但我对 ClojureScript 的了解还不够,无法弄清楚。
有没有简单的解决方案?
clojurescript - Clojurescript 协议的用法?
首次尝试在 ClojureScript 中使用协议。以下是协议定义/实现:
我对如何调用协议中定义的函数感到困惑。
以下是实例化的代码:
上面的代码有效,并且可以使用以下形式访问属性:
我面临的问题是如何调用协议中定义的函数。以下形式会导致错误(运行时)。
浏览生成的 Javascript 代码,它的函数名称很冗长。
谢谢
编辑:认为我找到了答案。看起来我需要命名空间中的支持功能。
使用上面定义的功能,我能够访问这些功能。想知道这是否是正确的方法?
EDIT2:好吧,通过进一步分析生成的javascript代码,意识到不需要像上面编辑的辅助函数,函数调用需要以命名空间为前缀:
clojurescript - 动态 js-obj 查找
鉴于以下情况:
如何仅使用and vars获得1
价值?这不仅仅是硬编码。object
key
(.-a object)
等效的 JavaScript 语法是object[key]
.
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 文件才能使用,这可能是一项重大任务。任何人都可以确认吗?
clojure - 在我的 src/ 中扩展一个库
我正在寻找扩展 jayq 库(在 git + leingitdeps 上分叉不是一个选项)。我该怎么做?
我的项目布局看起来像这样
- 项目
- 源代码
- 应用程序
- 周杰伦
- 核心.cljs
- 源代码
其中 core.cljs 应该包含我对 jayq.core 的新方法。然后我的应用程序尝试加载 jayq.core (它确实如此,但没有我的额外方法)
但是这不起作用,我做错了什么?
谢谢!
更新:
jayq 通过 lein deps 包含在内。我只是知道该方法在 js 控制台中不存在
clojurescript - clojurescript / twitter 引导工具提示 jayq
当我尝试在 dom 元素上设置 twitter 引导工具提示时
我明白了
我没有使用任何高级优化,并且将 jayq 与其他库(如数据表)一起使用也没有问题......
我错过了什么?
谢谢
clojure - ClojureScript Repl 安全性
我们有两台机器:
- 服务器
- 客户
服务器正在运行 Clojure + Ring + ... 标准 ClojureScript webstack。
客户端 = 一些运行 Chorme/Firefox/Safari 的机器
现在,假设服务器在端口 9000 上运行 ClojureScriptRepl 连接,客户端可以连接到该连接以设置 ClojureScriptOne Repl。
这允许服务器以某些方式控制客户端行为。
但是,这是否也允许客户端控制服务器?即,运行 ClojureScript repl 的行为是否允许客户端破坏/控制/执行服务器上的任意代码(就像运行 Clojure Repl 那样)。
谢谢!
clojure - 用 c2 生成 svg
我有以下代码,旨在将一组设备表示为 SVG:
试图render-config
在 REPL 中进行评估,我得到:
对我来说,这看起来像是一个适当的 Hiccup 表示(当然unify
是它的魔力)。
render-config
然而,在网页上下文中进行评估时(使用singult
),我只得到一个错误。在浏览器中生成一个非常简单的 SVG(基本上只有封闭的“框架”矩形)。
任何提示/提示?
干杯!
注意:render-config
使用 进行渲染Hiccup
,然后将结果输出到文件中,会得到 Inkscape 可读的 SVG 图像。
clojure - ClojureScript 中的 Java 模式/引用等价物
当我在 Clojure 中时,我可以使用(re-pattern (java.util.regex.Pattern/quote foo))
将模式字符串与另一个字符串完全匹配。如何在 ClojureScript 中做类似的事情?
编辑:我也发现了这个 -在 JavaScript RegExp 中复制 Java 的“Pattern.quote”的功能
clojure - Resolve 函数在 ClojureScript 中引发错误,但在 Clojure 中没有
以下程序在 Clojure 中按预期工作,但在 ClojureScript 中引发错误。我想知道这是一个错误还是 ClojureScript 中根本没有该功能,或者我是否需要重新考虑我尝试这样做的方式。非常感谢您提前提供的帮助。