问题标签 [boot-clj]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
clojure - 为什么clojure boot中任务的执行顺序会发生变化?
如果我comp
在任务上使用,执行顺序是从左到右。如果我comp
在匿名函数上使用,执行顺序是从右到左。这种不一致如何合理?
clojure - 为什么我的 clojure 启动脚本停止运行
我想用 clojure boot 启动一个必须继续运行的服务器。所以我制作了一个-main
函数,以便我可以运行./build.boot
并执行主函数。在 main 函数中,我启动一个非守护线程,只要有一个非守护线程,JVM 就会继续运行。但是,引导脚本停止,我的服务器也停止了。我究竟做错了什么?
输出
之后脚本结束。
clojure - 使用 Boot clojure 实现自动化
我一直在尝试尽可能地遵循教程,但对于我的生活来说,似乎无法让实时重新加载工作
我的目录结构如下:-
我有以下 build.boot
我的流程输出似乎没问题
编写 adzerk/boot_reload/init653.cljs 以连接到 ws://localhost:9001... 编写 boot_cljs_repl.cljs...
正在启动文件监视程序(CTRL-C 退出)...
将 :require adzerk.boot-reload.init653 添加到 main.cljs.edn ... nREPL 服务器在主机 127.0.0.1 的端口 9000 上启动 - nrepl://127.0.0.1:9000 添加 :require adzerk.boot-cljs-repl到 main.cljs.edn... 编译 ClojureScript... ?js/main.js 2016-07-23 02:38:50.287:INFO::clojure-agent-send-off-pool-0:记录已初始化 @51878ms 2016-07-23 02:38:50.450:INFO:oejs。服务器:clojure-agent-send-off-pool-0: jetty-9.2.10.v20150310 2016-07-23 02:38:50.501:INFO:oejs.ServerConnector:clojure-agent-send-off-pool-0:已启动 ServerConnector@4451c4ae{HTTP/1.1}{0.0.0.0:3000} 2016-07-23 02:38:50.506:INFO:oejs.Server:clojure-agent-send-off-pool-0: 已启动 @52097ms 已启动 Jetty在http://localhost:3000写入目标目录...经过时间:33.710 秒
我去网址...一切都检查出来了。然后我尝试更新 .cljs 和 .html 文件,但什么也没有……除非我自己手动重新加载浏览器,否则不会重新加载刷新更新
我只是不明白......这应该如何工作?我究竟做错了什么?
emacs - boot-clj: cider-jack-in 后的浏览器 repl
我在 emacs 中启动“引导开发”过程以便之后将其与苹果酒一起使用的工作流程是这样的:
- 转到外壳缓冲区。
- 输入“引导开发”
- 等到消息“时间已过...”
- 苹果酒连接(输入,输入)
如果它是 ClojureScript 项目,可以使用以下命令启动浏览器 repl:
当使用 cider-jack-in 来缓解这一点时,我在最后一步中遇到了问题,即 ClojureScript repl。这是错误消息的开头:
(完整的信息可以在这里找到:http: //pastebin.com/chBNByKG)
我确实根据苹果酒手册添加了 ~/.boot/profile.boot 。
clojure - 在 boot-clj 项目中使用 resources/public 目录
我正在尝试设置一个启动项目,该项目使用一个资源目录,其中包含一个公共子目录。后者应包含例如所有与 Web 相关的内容、编译的 clojurescript 等。
这对于您想要持有不打算公开公开的资源的情况是有意义的。
在没有额外的公共目录的情况下,它可以完美地工作。尝试使用附加的子目录时,我遇到了错误。以下是相关配置:
在 build.boot 中:
从资源目录内部:
而 main.cljs.edn 看起来像:
调用boot dev
时会发生以下情况: ClojureScript 继续编译错误,直到手动终止该进程。它看起来像是与某些相对路径相关的递归错误。
而它继续运行的时间越长,就会public/public/public/..
扩展。
有人建议可以解决这个问题吗?
更新
这是问题的更新版本:
考虑资源文件夹的这种结构:
以及 build.boot 中的以下部分:
'myapp.server/handler 知道只提供来自资源/公共的文件(由wrap-resource
或 compojure 等效实现resources
。后者甚至默认为“私有”。
但是问题发生得更早:当运行boot dev
整个资源目录时,目标目录中会被复制,private_file.txt
当然包括。(这是预期的行为吗?,我的意思是文件可能会很大,然后它会占用双倍的磁盘空间)
在这一点上,我不确定 main 内部的 :asset-path 如何影响这一点。在此处的示例中,我将其保留为“js/main.out”,这可能是不正确的。
reactjs - boot-clj clojurescript 项目 w/ 试剂和 react-with-addons?
有人熟悉使用 boot-clj 并将cljsjs
react-with-addons 打包到一个试剂项目中吗?试剂已经需要反应,因此您必须明确列出排除项,如此处所述。尽管如此,构建过程总是输出 react.inc.js 而不是 react-with-addons.inc.js。这是我的启动文件...
如果我查看试剂构建过程,它似乎需要 r-dom 和 r-dom/server 通过 cljsjs 包,然后从 webpack 构建中提供自己的反应:
如果有人能对为什么引导继续吸引非插件反应有所了解,我将不胜感激。
emacs - cider-jack-in 后启动启动任务
通过 cider-jack-in 启动启动项目后,如何启动特定的启动任务?
在 repl(dir boot.user)
中揭示了build.boot
. 但是,通过eg调用一个(dev)
没有效果,至少该任务中定义的环服务器无法连接。从命令行使用时boot dev
,它可以工作。我需要切换到 cider-jack-in 的原因是它看起来在 shell/cider-connect 方法中没有办法打印/记录到 emacs 缓冲区而不是默认 shell(它与所有编译消息)。
emacs - cider-connect 内部的引导刷新
按照建议的步骤后
https://github.com/samestep/boot-refresh
从引导项目中使用 cider-jack-in 时,预期的热重载行为有效。
但是,在以下情况下它不起作用。考虑这个引导任务:
相关部分是:nrepl
关键字。
触发此任务后,可以在 4000 端口连接到 nrepl 服务器,其优点是可以在开发过程中访问应用程序的实际状态。(有关详细信息,请参阅此帖子)
这可以通过cider-connect
. 然而,在那里热重载已经消失了。该:reload true
选项可能会在这里混淆,这只会在 http 请求完成时触发源重新加载。但我正在寻找更通用的引导刷新方法。
注意:这里的目的是在服务器端进行实时重新加载行为,这类似于客户端已知的概念(figwheel 或 boot-reload)。
clojure - boot-clj:从文件集中仅提取某些文件夹的任务+重命名它
考虑一个具有资源文件夹的 Clojure 项目,该文件夹包含一些文件和另一个名为“public”的文件夹,其中包含一些 Web 内容。
我正在寻找一个启动任务,它编译 ClojureScript,然后仅将公共目录移动到全局文件系统中的另一个目录。最后,文件夹应重命名为“project- version ”。
以下不起作用,因为move-files
仅适用于文件而不适用于目录。但是,我认为它澄清了这个想法:
在此之后,应该有一个文件夹/some/path/web_dirs/My-0.1.0
,其中包含项目所有公共文件的编译版本。
maven - boot-clj:在 maven 存储库中安装 uberjar
有没有办法将 uberjar 安装到本地 maven 存储库中?
它通常是存储它们的好地方,还是将 uberjar 构建保存在单独的目录中更好?我的意思是,我在想 og 为本地存储库中的每个版本都有一个 uberjar 和一个常规 jar,但我不确定这一点。
无论如何,以下会产生错误: