_ 评论由:djebbz_作出
很抱歉再次提出这个问题,可能是污染了追踪器,也可能浪费了您的宝贵时间。
看来初始问题已通过至今为止的主分支的最新提交得到解决。有一个看起来是合法的"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() 方法向文档中插入一个脚本标签,指向 "target/js/goog/base.js"。
再次通过 document.write() 方法插入一个脚本标签,指向 "target/js/goog/deps.js"。
插入的脚本标签错误地指向 "/cljs_deps.js",注意这里的错误标志 !
再次通过 document.write() 方法插入一个脚本标签,指向 "target/js/brepl_deps.js",同时插入了一个脚本,使用 goog.require() 引入 "clojure.browser.repl.preload"。
所以浏览器抛出了 "Uncaught SyntaxError: Invalid regular expression flags" 错误(当然)。
第二个问题:在终端中无法启动 repl。这可能与第一个问题有关吗?
我应该为这个问题打开另一个问题吗?我没有足够深入地调查,以判断这个问题是否与特定的配置有关,还是 ClojureScript 的一般性问题。