问题标签 [figwheel]

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 回答
1085 浏览

clojure - 如何使用 Cursive 和 Figwheel 设置 ClojureScript 环境?

我花了将近 2 天的时间试图达到可以html使用 ClojureScript 在浏览器中渲染一些内容的阶段,但不是很接近。

到目前为止,我已经安装了:Clojure、leiningen、Figwheel、IntelliJ、Cursive。我想使用试剂和重新框架。我已经尝试过 Chestnut(这是我看到的最接近呈现的 html)。我不确定我是否需要其他任何东西。

我想要实现的是使用所有这些工具作为我的环境并开始创建一个 Web 应用程序。

Figwheel 似乎是主要问题。

我目前要去的地方:用 IntelliJ 和 Cursive 创建了一个 Clojure 项目。我正在关注这篇文章以尝试启动并运行 - 我已经到了它所说的地步Start Figwheel from the terminal (lein figwheel)。当我这样做时,IntelliJ 中的终端会打印

Exception in thread "main" java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter, compiling:(cljs/closure.clj:1:1).

当我用谷歌搜索这个错误时,解决方案是将此行添加到project.clj

:jvm-opts ["--add-modules" "java.xml.bind"]

然后我lein figwheel再次在终端中运行,这次我得到:

java.lang.module.FindException: Module java.xml.bind not found

然后我进入 IntelliJ > File > Project Structure > Platform SDKs 并将 SDK 路径更改为 1.8。我已经尝试了 12 和 8。没有任何效果。

我接近了吗?我怎样才能继续前进?我已经完成了入门教程,但他们只关注 REPL,而不是完整的 Web 开发环境等。非常感谢。

0 投票
1 回答
117 浏览

clojurescript - 是否有一个示例 repo 可以尝试使用 Figwheel-Main 的 Calva?

您能否指出正确的方向:我已经成功地将 calva 与旧 figwheel 一起使用,但无法连接到 figwheel-main ..(连接到 shadow-cljs 没有问题)。

我已经失败了一段时间了。我做什么:选择'Figwheel Main'并指定localhost:port(例如9500)。

无论如何,问题是:是否有一个演示仓库(可能是 https://github.com/PEZ/fresh-figwheel-main),我可以尝试使用 calva 和 figwheel-main ?我应该输入什么主机:端口?

0 投票
1 回答
142 浏览

unit-testing - 如何使用 Figwheel 运行 Clojurescript 单元测试?

我正在尝试使用我的 figwheel REPL 来运行单元测试,但我似乎无法让它们工作。我尝试了几种不同的方法,但每次我都会遇到各种错误,这些错误通常与(run-tests)未定义有关。

我的测试文件在 /tests 如下

我已经尝试过使用和不使用fighweel-always我从另一个问题这里得到的。我还更新了我的 project.clj:

但没有运气。我也尝试过(in-ns)进入我的命名空间,但它仍然给我运行测试,但没有找到这样做的方式。

我确定我错过了一些简单的东西,但我在这里敲我的头,不确定问题是什么。我的最终目标只是让我的单元测试暂时手动运行,稍后我可以在此基础上进行构建。

0 投票
1 回答
580 浏览

clojure - 如何使用 Clojure CLI (tools.deps) 和 figwheel-main 设置 nREPL

我想使用 nREPL 服务器从 Emacs Cider 与 Clojure CLI(tools.deps,而不是 Leiningen)和 figwheel-main 连接。如何设置我的deps.edn或其他?


我知道有 Leingen&figwheel-main 和 tools.deps&figwheel-sidecar 的设置很好的例子。

Leingen&figwheel-main:https ://github.com/bhauman/lein-figwheel/wiki/Using-the-Figwheel-REPL-within-NRepl

tools.deps&figwheel-sidecar:https ://functionalbytes.nl/clojure/nodejs/figwheel/repl/clojurescript/cli/2017/12/20/tools-deps-figwheel.html


这篇文章(https://figwheel.org/docs/editor-integration.html)似乎是我想做的,但我没有找到如何真正设置环境。

0 投票
2 回答
362 浏览

clojure - 多页应用的试剂配置

我的project.clj

我包括app.js在我的list.html, 使用Selmer , 像这样,

在我的结尾list.cljs,我有

到目前为止,一切都很好。

现在,我想要另一个页面,比如说detail.cljs,我也喜欢类似地渲染,

问题是,我只有一个app.js,并且包含它detail.html也会在那里呈现列表内容。顺便说一句,我想要一个用于list页面的 url,另一个用于detail.

问题:

我应该怎么做?

0 投票
1 回答
35 浏览

configuration - How do I tell figwheel to start and connect to Google Chrome instead of Firefox?

I'm taking some baby steps with figwheel.

When I fire up the tutorial application, it starts firefox, which then connects back to the figwheel process to get code to run on its JavaScript engine. If firefox is already running, a new tab is opened and the connection proceeds likewise. Figwheel probably just executes the firefox command with appropriate options. Or maybe it is using xdg-open.

The system is a Fedora Linux with KDE. Interestingly a "default browser" is not currently configured (how to configure the default browser is described in these KDE help pages): the application to start is selected based on URL contents. So I am not sure why figwheel selects firefox instead of Google Chrome, also installed.

Web Browser is selected based on this config

Now, for testing purposes I sometimes want figwheeel to use a Google Chrome process instead. Is there a way to do that?

There seems to be no option regarding this.

0 投票
1 回答
41 浏览

clojurescript - 如何在 Figwheel 中重新加载时获取更新的应用程序?

将 Figwheel 与 cljs 项目一起使用会给我带来不可靠的缓存。有时保存项目不会加载 Figwheel,然后如果我刷新页面,而不是加载应用程序的最新版本,它会将我带到应用程序的早期缓存版本。如何在 Figwheel 中使缓存更可靠,以便在重新加载时,我处于应用程序的最新版本而不是旧版本?

0 投票
2 回答
220 浏览

emacs - 有没有更简单的方法可以从 emacs/cider 同时使用 CLJ + CLJS REPL?

作为一个 Clojurian 初学者,我可能需要一些帮助来尝试了解是否有任何方法可以解决我在使用 Cider REPL 时遇到的痛点。

背景:我有一个全栈应用程序(后端的 limunius + 前端的 re-agent/figwheel)。我从 emacs/Cider Repl 启动服务器,并且可以从该 REPL 访问正在运行的服务器的所有命名空间(这非常方便)。

在另一个选项卡中,我运行:

所有 cljs 命名空间都可以从这个 figwheel REPL/tab 访问,但它没有连接到 Cider/emacs,所以我只能在那里复制和粘贴。

有没有一种简单的方法可以在 emacs 中同时拥有两个 REPL 并在它们之间快速切换?

或者您的典型工作流程是什么?您是否使用后端和前端 REPL,但不是同时使用?对不起,我只是在学习,所以我需要两个:)

0 投票
1 回答
77 浏览

clojure - 将使用 Figwheel 编译的 JS 文件包含到构建的 Uberjar 中

这是 Figwheel 配置,app.cljs.edn

问题是,它只适用于dev. 我应该如何在我的.jar, 创建者中包含已编译的 JS 文件uberjar

0 投票
0 回答
179 浏览

clojure - 无法在 'lein new figwheel foo -- --reagent' 中编译

我想用试剂和无花果开始一个项目,我以前用那个命令做过,它已经奏效了,事实上它们仍然有效。但是有了一个新的依赖项的一些配置和版本发生了变化,它不再以“lein fighwheel”开头。这是我的 project.clj

它抛出:

我试着拔出:

因为之前的项目没有它并成功编译,但浏览器只显示“Figwheel 模板 Checkout your developer console”。在控制台上显示“加载资源失败:服务器响应状态为 404(未找到)”。

添加后我尝试使用“lein clen”:

但它是一样的。

以防万一,当我多次评估相同的表达式时,我一直在经历 repl 的堆栈溢出,每次重复评估的时间都会增加。我必须定期重新启动它。