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

欢迎!有关如何使用本站的信息,请参阅关于页面。

0投票
ClojureScript

存在一些仅在部分或完全无法工作的浏览器环境选项。

  • {{:optimizations}} - 除了{{:whitespace}}和{{:simple}}之外,其他选项似乎都不适用。
  • {{:host}} - 永远不被读取。我们总是绑定到{{0.0.0.0}}。
  • {{:serve-static}} - 永远不被读取。
  • {{:preloaded-libs}} - 永远不被读取。

这些选项应该被正确记录、移除,或者使其正常工作。

9 答案

0投票

评论者:potetm

我认为我们应该

  • 正确记录{{:optimizations}}并在非受支持选项上抛出异常
  • 确保{{:host}}函数正确运行
  • 将{{:serve-static}}选项移除
  • 将{{:preloaded-libs}}选项移除
0投票

评论者:potetm

注意,目前这也解决了(链接:https://dev.clojure.org/jira/browse/CLJS-1502 文字:CLJS-1502)问题。

0投票

评论者:potetm

这个回答与我的初始评论中所提到的一致。

注意,如果不排除空白(whitespace),这个提交(commit)相对较小。

0投票
by

评论者:potetm

经过更多思考,我不确定在browser-env中指定{{:optimizations}}能得到什么收益,而代价却是用户的混淆。我认为这并不是明显的针对子iframe的JS编译选项,以及评估repl表单的特征。这可能是我们可以“做正确的事”并从用户那里去除一些负担的情况。

我想我们要么完全移除{{:optimizations}},要么只将其用于评估repl表单,并使用{{:simple}}作为初始负载。考虑到用户可以在{{cljs.repl/repl}}参数中覆盖这个,我更倾向于完全移除它。

0投票
by

评论:dnolen

相关CLJS-1502

0投票
by

评论:dnolen

让我们移除优化部分,它只适用于客户端JS。

0投票
by

评论:dnolen

我最终不但移除了优化,还使主机作为向cljs.main公开该功能的一部分工作。

0投票
by

评论:mfikes

补丁不再适用。鉴于David的最后评论,或许已经过时了?

0投票
by
...