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)
ReferenceError: module$home$juho$ttmp$sdfsdf$node_modules$left_pad$index 是未定义的
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: 字符串索引超出范围:-6
    at java.lang.String.substring(String.java:1931)
    at clojure.core$subs.invokeStatic(core.clj:4926)
    at clojure.core$subs.invoke(core.clj:4921)
    at cljs.repl$file_display.invokeStatic(repl.cljc:384)
    at cljs.repl$file_display.invoke(repl.cljc:380)
    at cljs.repl$print_mapped_stacktrace$fn__6277.invoke(repl.cljc:397)
    at cljs.repl$print_mapped_stacktrace.invokeStatic(repl.cljc:394)
    at cljs.repl$print_mapped_stacktrace.invoke(repl.cljc:387)
    at cljs.repl$display_error.invokeStatic(repl.cljc:471)
    at cljs.repl$display_error.invoke(repl.cljc:451)
    at cljs.repl$repl_caught.invokeStatic(repl.cljc:797)
    at cljs.repl$repl_caught.invoke(repl.cljc:788)
    at cljs.repl$repl_STAR_$fn__6479$fn__6488.invoke(repl.cljc:996)
    at cljs.repl$repl_STAR_$fn__6479.invoke(repl.cljc:993)
    at cljs.compiler$with_core_cljs.invokeStatic(compiler.cljc:1285)
    at cljs.compiler$with_core_cljs.invoke(compiler.cljc:1274)
    at cljs.repl$repl_STAR_.invokeStatic(repl.cljc:953)
    at cljs.repl$repl_STAR_.invoke(repl.cljc:832)
    at cljs.cli$repl_opt.invokeStatic(cli.clj:258)
    at cljs.cli$repl_opt.invoke(cli.clj:247)
    at cljs.cli$main.invokeStatic(cli.clj:577)
    at cljs.cli$main.doInvoke(cli.clj:564)
    at clojure.lang.RestFn.invoke(RestFn.java:410)
    at clojure.lang.AFn.applyToHelper(AFn.java:154)
    at clojure.lang.RestFn.applyTo(RestFn.java:132)
    at clojure.core$apply.invokeStatic(core.clj:659)
    at clojure.core$apply.invoke(core.clj:652)
    at cljs.main$_main.invokeStatic(main.clj:61)
    at cljs.main$_main.doInvoke(main.clj:52)
    at clojure.lang.RestFn.invoke(RestFn.java:397)
    at clojure.lang.AFn.applyToHelper(AFn.java:152)
    at clojure.lang.RestFn.applyTo(RestFn.java:132)
    at clojure.lang.Var.applyTo(Var.java:702)
    at clojure.core$apply.invokeStatic(core.clj:657)
    at clojure.main$main_opt.invokeStatic(main.clj:317)
    at clojure.main$main_opt.invoke(main.clj:313)
    at clojure.main$main.invokeStatic(main.clj:424)
    at clojure.main$main.doInvoke(main.clj:387)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.lang.Var.applyTo(Var.java:702)
    at clojure.main.main(main.java:37)

2 条回答

0
_评论者: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
参考: https://clojure.atlassian.net/browse/CLJS-2666(由deraen报告)
...