请在 2024 Clojure 状态调查! 分享您的想法。

欢迎!请参阅 关于 页面以了解更多关于其工作方式的信息。

0
ClojureScript

使用 def 形式,并带有特定元数据 ^:field 会导致 cljs 编译器
在输出的 js 形式中预先添加 "self__"。

浏览器(最新版 chrome/firefox)无法识别 "self__"。

`

测试用例:与 master 版本 5ac1503 进行测试

(ns test-def)

(def ^:foo e identity)
e
; test_def.e = cljs.core.identity;
; test_def.e;

(def ^:field f identity)
f
; test_def.f = cljs.core.identity;
; self__.test_def.f;
; Uncaught ReferenceError: self__ is not defined
`

https://gist.github.com/4185793

3 个答案

0

评论由:bbloom

代码标签

0

评论由:dnolen

这个问题有点让人烦恼。我们可能需要在内部使用命名空间关键字。

0
参考:https://clojure.atlassian.net/browse/CLJS-434(由 andrewmcveigh 报告)
...