问题标签 [cljsbuild]

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.

0 投票
2 回答
1219 浏览

clojure - 为 Compojure 应用程序自动构建 Clojurescript 文件

我有一个 Web 应用程序,我在服务器上使用 Compojure,在客户端使用 Clojurescript。我正在使用 leing-cljsbuild 插件自动将 cljs 文件编译为 js。

:whitespace当我将优化设置为or时,我能够生成所需的客户端文件并将它们加载到浏览器中:simple,但是当我将优化设置为 none 时,js文件使用本地文件系统路径引用它们的依赖项,这会导致文件根本没有在浏览器中加载。

所以,我的问题是如何使生成的文件在 clojurescript 编译器生成时使用服务器 url 而不是本地文件路径。

这是我的 project.clj 文件

0 投票
2 回答
1147 浏览

clojure - 我无法运行基本的 clojurescript.test 示例

我正在尝试使用

https://github.com/cemerick/clojurescript.test

我创建了一个简单的项目,例如:

文件夹 src-js 和 test-js 都存在,因为我打算把我所有的 clojurescript 文件放在那里。

在我的test-js/sampleproj文件夹中,我复制了文档中的示例测试:

现在,如果我尝试运行测试

我对 clojurescript 还很陌生,所以我可能遗漏了一些东西。

更新

我的环境

0 投票
1 回答
109 浏览

javascript - 指定我要包含的 ClojureScript 文件

如何指定要包含在特定页面中的 ClojureScript 文件?

假设现在我有两个页面,home并且login我只想将编译后的 js from(ns foo.home)包含在home页面中,并且只将编译后的 js from(ns foo.login)包含在login页面中,我该怎么做?

或者,是否规定整个站点必须使用一个由 .js 编译的 js 文件cljsbuild

0 投票
1 回答
265 浏览

clojurescript - 如何避免 cljsbuild 项目中的重复?

我的:cljsbuild部分project.clj有很多重复:

我确信必须可以使用配置文件来删除这种重复,但是我的 Leiningen fu 是缺乏的。

0 投票
1 回答
190 浏览

build - 如何设置 cljsbuild 以将非编译文件移动到特定文件夹中?

我的 Clojurescript 项目从三个文件开始——一个 index.html、一个 css 文件、手写的 .cljs 代码。

当 cljsbuild 将 .cljs 文件构建为 .js 文件时,它会将其放置在任意位置。我也想将 index.html 和 css 文件也移到那里。

我想要这个的原因是我可以拥有多个配置文件,并轻松加载两者。我有一个dev未优化 javascript 的release配置文件,以及一个优化 javascript 的配置文件。但是在它们之间切换很烦人——我必须以某种方式获取单个现有的 index.html 文件并更改它指向的 javascript 文件。(如果我有两个index.html文件,每个文件指向不同的 javascript 文件,对一个 html 文件进行更改意味着复制另一个文件的更改)

我宁愿有两个版本:

dev构建构建到project/dev.

release构建构建到project/release.

两个版本都有index.htmlstyle.csscompiled.js文件。有没有办法做到这一点?

0 投票
1 回答
503 浏览

clojure - 构建阶段的试剂 Figwheel npes

我正在运行 lein figwheel + reagent,虽然该站点似乎正在更新,但我无法追踪导致以下堆栈跟踪的原因。有什么我应该看的地方吗?这个错误是什么意思?

这是我的project.clj:

0 投票
0 回答
104 浏览

clojure - 如何让 cljx 在 uberjar 期间将 clojure 文件编译成类?

我正在使用 cljx 来构建 cli / cljs 应用程序,但我一生都无法创建一个自打包的编译 jar。

这是我的项目文件-> https://gist.github.com/chrispwood/4db33e53555a8e8787d1

当我运行时,lein jar或者lein uberjar我只得到一个带有 clj 文件的打包 jar,而不是类文件。请参阅上面的输出文件^^。

有谁知道如何确保转译的 clj 代码被编译成类文件?

0 投票
2 回答
1067 浏览

clojurescript - 将多个cljs-files编译成独立的js-files

编辑:如果有人试图为一个项目构建独立的 cljs/js 文件:它的工作方式与下面描述的完全一样。您只需要确保 cljs 目录仅包含所需的文件 - 无意中将另一个(未使用的)cljs 文件的副本留在一个目录中是我的错;虽然没有被引用,但这将被编译成想要的文件。

我将 cljsbuild 与多个构建一起使用,以在同一页面上生成两个不同的 cljs/js 文件。这些文件之间没有依赖关系,它们使用不同的命名空间。在高级模式下编译会构建两个 js 文件,其中一个 js 文件包含另一个文件 - 这样一个文件就变得不必要了。

有没有办法在不设置两个不同项目的情况下生成两个完全独立的 js 文件?

我的 project.clj 的一部分:

0 投票
1 回答
696 浏览

leiningen - 如何/我可以从 ClojureScript 编译器输出中排除继承的外部库?

我正在使用reagent 0.5.0取决于cljsjs/react. 后者附带以下deps.cljs

这使得 React 的 JavaScript 最终出现在编译器输出中。

我想防止这种情况发生,因为我也想在纯 JavaScript 页面中使用 React。

此外,reagent/core.cljs有一个:require [cljsjs.react]指令(强制包含?),因此不能简单地省略依赖项。

有没有办法防止 React 出现在编译器输出中?

0 投票
2 回答
1482 浏览

clojure - “'cljsbuild' 不是任务”

使用 lein for clojure,尝试使用 clojurescript 插件。遵循所有 readme.md 安装步骤,project.clj 有

我似乎无法让 lein 识别插件,并且不确定什么是小精灵。