2024 Clojure状态调查!中分享你的想法。

欢迎!请查看关于页面以获取更多关于本站如何工作的小更多信息。

0
ClojureScript
如果定义了output-dir,我可以在REPL中使用Node模块,但不可以不设置它


❯ npm install @cljs-oss/module-deps left-pad

❯ java -jar cljs.jar -d out --repl
ClojureScript 1.10.145
cljs.user=> (require '[left-pad :as left-pad])
cljs.user=> (left-pad "foo" 5)
"  foo"

❯ java -jar cljs.jar
ClojureScript 1.10.145
cljs.user=> (require '[left-pad :as left-pad])
cljs.user=> (left-pad "foo" 5)
引用错误:无法定义module$home$juho$tmp$sdfsdf$node_modules$left_pad$index
主线程异常 java.lang.StringIndexOutOfBoundsException: 字符串索引越界:-6
    在 java.lang.String.substring(String.java:1931)
    在 clojure.core$subs.invokeStatic(core.clj:4926)
    在 clojure.core$subs.invoke(core.clj:4921)
    在 cljs.repl$file_display.invokeStatic(repl.cljc:384)
    在 cljs.repl$file_display.invoke(repl.cljc:380)
    在 cljs.repl$print_mapped_stacktrace$fn__6277.invoke(repl.cljc:397)
    在 cljs.repl$printMappedStacktrace.invokeStatic(repl.cljc:394)
    在 cljs.repl$printMappedStacktrace.invoke(repl.cljc:387)
    在 cljs.repl$display_error.invokeStatic(repl.cljc:471)
    在 cljs.repl$display_error.invoke(repl.cljc:451)
    在 cljs.repl$repl_caught.invokeStatic(repl.cljc:797)
    在 cljs.repl$repl_caught.invoke(repl.cljc:788)
    在 cljs.repl$repl_STAR_$fn__6479$fn__6488.invoke(repl.cljc:996)
    在 cljs.repl$repl_STAR_$fn__6479.invoke(repl.cljc:993)
    在 cljs.compiler$with_core_cljs.invokeStatic(compiler.cljc:1285)
    在 cljs.compiler$with_core_cljs.invoke(compiler.cljc:1274)
    在 cljs.repl$repl_STAR_.invokeStatic(repl.cljc:953)
    在 cljs.repl$repl_STAR_.invoke(repl.cljc:832)
    在 cljs.cli$repl_opt.invokeStatic(cli.clj:258)
    在 cljs.cli$repl_opt.invoke(cli.clj:247)
    在 cljs.cli$main.invokeStatic(cli.clj:577)
    在 cljs.cli$main.doInvoke(cli.clj:564)
    在 clojure.lang.RestFn.invoke(RestFn.java:410)
    在 clojure.lang.AFn.applyToHelper(AFn.java:154)
    在 clojure.lang.RestFn.applyTo(RestFn.java:132)
    在 clojure.core$apply.invokeStatic(core.clj:659)
    在 clojure.core$apply.invoke(core.clj:652)
    在 cljs.main$_main.invokeStatic(main.clj:61)
    在 cljs.main$_main.doInvoke(main.clj:52)
    在 clojure.lang.RestFn.invoke(RestFn.java:397)
    在 clojure.lang.AFn.applyToHelper(AFn.java:152)
    在 clojure.lang.RestFn.applyTo(RestFn.java:132)
    在 clojure.lang.Var.applyTo(Var.java:702)
    在 clojure.core$apply.invokeStatic(core.clj:657)
    在 clojure.main$main_opt.invokeStatic(main.clj:317)
    在 clojure.main$main_opt.invoke(main.clj:313)
    在 clojure.main$main.invokeStatic(main.clj:424)
    在 clojure.main$main.doInvoke(main.clj:387)
    在 clojure.lang.RestFn.applyTo(RestFn.java:137)
    在 clojure.lang.Var.applyTo(Var.java:702)
    在 clojure.main.main(main.java:37)

2 个答案

0
by
评论来自:jumblemuddle_

我也遇到了这个问题
{code:|title=Fails}
clj -Sdeps "{:deps {org.clojure/clojurescript {:mvn/version \"1.10.339\"}}}" -m cljs.main -co "{:npm-deps {left-pad \"1.3.0\"} :install-deps true}" -r

{code:|title=Works with `-d out`}
clj -Sdeps "{:deps {org.clojure/clojurescript {:mvn/version \"1.10.339\"}}}" -m cljs.main -co "{:npm-deps {left-pad \"1.3.0\"} :install-deps true}" -d out -r
0
by
参考:https://clojure.atlassian.net/browse/CLJS-2666 (由 deraen 报告)
...