_评论者:djebbz_
很抱歉又提起这个问题,也许污染了跟踪器,也许浪费了您的时间。
看起来最初的问题已经通过目前master分支的最新提交解决了。有一个看起来合法的 "target/js/cljs/loader.js" 文件。为重现问题,请使用以下 deps.edn 文件(只有 cljs 坐标已更改)
{code:title=deps.edn}
{:deps {org.clojure/clojurescript {:git/url "
https://github.com/clojure/clojurescript :sha "6eedd0a08c49f7b0d4dcb30977b2fb38c90577bd"}}
:aliases {:bug {:main-opts ["-m" "cljs.main" "-co" "bug.cljs.edn" "--repl"]}}}
但现在还有两个问题。
1. 生成的合成的 main.js 文件已损坏。以下是来自浏览器开发者工具的 main.js 文件内容
{code:title=main.js}
var CLOSURE_UNCOMPILED_DEFINES = {"clojure.browser.repl.PORT":9000,"clojure.browser.repl.HOST":"localhost","goog.json.USE_NATIVE_JSON":true};
定义了一个名为CLOSURE_NO_DEPS的变量,其值为true;然后使用document.write()方法在页面中写入如下脚本标签:
document.write('<script src="target/js/goog/deps.js"></script>');
/cljs_deps.js"></script>'); // <--- 故障!
document.write('<script src="target/js/brepl_deps.js"></script>'); 然后写入 requirements.txt 文件,调用goog.require("clojure.browser.repl.preload") 方法;
因此,浏览器报错 "Uncaught SyntaxError: Invalid regular expression flags"(当然)。
2. 在终端中无法启动repl。这个问题可能与第一个问题有关吗?
我应该为这个问题打开另一个问题吗?我没有足够深入地调查,不知道这是否与这个特定的配置有关,或是与ClojureScript有关的普遍问题。