问题标签 [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.
file - 如何将特定文件拉入文件集中?
我正在编写一个库,它使用我不拥有的 GitHub 存储库中的文件:
这里是另外两个相关的文件foo
。
build.boot
:
src/com/example/foo/core.clj
:
我想要的是某种add
允许我做这样的事情的任务:
我尝试使用 的-R
选项sift
,但它对我的用例有两个问题:
- 比我想要的(
vk.xml
)更多的文件被拉入文件集中,这会膨胀我的 JAR 的大小 - 因为
-R
只是将目录添加到资源路径集中,它的所有内容都添加到顶层的文件集中,这很容易破坏我自己的资源
本质上,我想要与以下三个命令具有相同效果的东西,但实际上并没有触及resources
目录:
换句话说,com.example/foo
JAR 应该包含该 XML 文件作为资源,以便当我com.example/foo
从另一个项目中使用该资源时应该可以使用该资源:
如何将特定文件(例如来自 Git 子模块)作为资源拉入特定位置的文件集中,而不触及文件集中已有的任何文件?
clojurescript - 浏览器 repl 中的 pprint 导致 TypeError
有人理解 ClojureScript 浏览器 repl 中的以下行为吗?(由引导工具链提供)
看起来,没有对 cljs.pprint/pprint 的引用,但是 repl 知道这个函数的数量。
这也可能有帮助:
testing - 从 boot-clj 项目中排除测试源以进行生产
我正在开发一个 ClojureScript 库,旨在用于浏览器环境。
所以很明显在开发和测试过程中会有额外的源文件。如何将其与库源分开?
有没有办法将某些源标记为仅用于测试目的,在安装/部署项目时会被省略?
此外,在发布时也不应包含包含一些 HTML 文件(等)的资源文件夹。
clojure - boot-clj:摆脱“检测到版本冲突”
boot-clj 在启动时显示很多关于版本冲突的警告:它们看起来像这样:
我不太明白为什么有时第一个版本低于另一个版本,有时反之亦然。看起来我无法影响他们中的大多数人。例如在我的项目中我需要clj-time
version 0.12.0
,所以我猜警告来自一个库,它本身需要另一个版本的 clj-time。
有没有办法修复它们,或者我是否总是使用该-q
标志来“抑制引导本身的输出”?这可能会阻止显示其他可能更重要的输出吗?
clojure - 浏览器从错误的 url 获取 cljs 源映射文件
我在从浏览器内部访问 cljs 源映射文件时遇到问题。看起来它正试图从错误的 url 中获取它们。例如:
但它应该是:
在main.cljs.edn
我的 boot-clj 项目中看起来像这样:
有人知道如何解决这个问题吗?
clojure - 简单的启动项目不适用于 cljs 和 async
我有一个非常简单的项目。我用 boot 和 cljs 创建了有史以来最简单的项目。它编译成功,我能够在 html 中看到正确的日志。当我添加对异步的基本支持时,我收到了以下消息:
该项目只有以下结构:
index.html 的内容:
核心.cljs
和 build.boot
原始工作项目具有相同的基本结构,除了 core.cljs 文件中通道的 require 和 def 以及 build.boot 中添加的依赖项
clojure - 如何使用引导运行 http-kit?
使用引导运行时,我无法从 http-kit 服务器获得任何响应。它适用于码头。当我运行boot run
它时,它会在一段时间后退出。所以我添加了(boot (wait))
哪个不会终止,但服务器似乎没有运行。
boot.clj
文件:
clojure - 浏览器尝试从错误的路径加载 ClojureScript 源映射
我正在使用 Boot 来构建 Clojure(Script) Web 应用程序。浏览器从http://localhost:8080/main.out/calculators/frontend/core.js加载转译后的代码
该文件的最后一行是
我可以使用 URL http://localhost:8080/main.out/calculators/frontend/core.js.map从浏览器加载该地图文件
但是,如果在 Chrome 开发工具的 Sources 面板中搜索相应的 ClojureScript 文件,它会出现错误的 URL(参见main.out/calculators/frontend
嵌套本身)
http://localhost:8080/main.out/calculators/frontend/main.out /calculators/frontend/core.cljs
加载后,不显示任何代码,并且“(从 core.js 映射的源)”出现在状态栏中。
哪个可能是问题?
clojure - 如何在不重新启动 repl 的情况下停止码头服务器
假设我有一个简单的 boot-clj 任务,它使用'[pandeiro.boot-http :refer [serve]]
. 如果我进行更改并需要重新启动任务,它会抱怨该端口已在使用中。有没有办法杀死码头服务器而不必重新启动repl?