问题标签 [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 回答
111 浏览

clojurescript - 在 Clojure Repl 中重新编译函数会导致编译器警告

我似乎不知道 REPL 的一些重要方面,使用figwheelor lein-autoreload

如果我使用上述插件之一启动 REPL 并对其中一个项目文件进行更改,我通常会收到编译器警告。通常,这意味着我必须重新启动 REPL,这违背了这些插件的全部目的。

让我给你举个例子。我有三个文件core.cljsdemoscene.cljsobjects.cljs. 它们按照我提到它们的顺序相互引用,例如(:require [ns.demoscene :as demoscene])。我的主要功能位于core.cljs.
我开始使用 figwheel REPL lein figwheel,启动我的浏览器,一切正常。
如果我在其中编辑函数objects.cljs并保存更改,则会收到编译器警告:

这在不止一个层面上真的很奇怪:

  1. 我没有编辑demoscene.cljs
  2. 为什么要cljs.core/update换成ns.demoscene/update
  3. 如果我重新加载站点(我不重新启动 figwheel 会话),一切都会再次正常。我的更改已应用等。

你能告诉我,后台发生了什么吗?我缺少什么来理解这种情况?我该怎么做才能避免这些警告?

如果您需要更多资源,请告诉我。

0 投票
1 回答
432 浏览

namespaces - ClojureScript 评估。如何使用调用代码中包含的库

我在浏览器中运行了一个 Clojurescript 程序。

它导入了许多库,然后我想让用户输入一些调用这些库的小型 clojurescript “胶水代码”。

我可以看到(来自https://cljs.github.io/api/cljs.js/eval)你用四个参数调用 eval ,第一个是环境的状态,它是一个原子。但是我真的可以将我当前的环境以及我从其他地方需要的所有功能变成一个合适的 eval 参数吗?

更新 :

我想也许我可以使用第三个参数 opts-map 的 :ns 选项为 eval 设置命名空间。我将它设置为我的应用程序的命名空间:

但没有区别。

查看控制台,它肯定是在尝试进行评估,但它抱怨在评估代码中引用的名称无法识别:

例如。(正方形是我需要的功能。它在应用程序本身中可见,即 fig-pat.core 命名空间)

然后我得到:

我假设这是 eval-ed 表达式作为一个整体的失败。

更新 2:

我猜这个问题实际上可能与:如何从 clojurescript 程序中获取我所在的 Clojurescript 命名空间?

只是打印零。所以也许 Clojurescript 看不到它自己的命名空间。

因此 :ns 中的 eval 不起作用?

0 投票
1 回答
698 浏览

clojurescript - ClojureScript:让 Figwheel REPL 启动并运行

我正在尝试启动一个 figwheel repl 以在浏览器中工作。当我将浏览器指向本地服务器时,我收到以下消息:

Figwheel 服务器:找不到资源 继续 figwheelin'

shell 显示以下消息,但它不会继续启动 repl:

当 Figwheel 连接到您的应用程序时将显示提示

这是我的project.clj:

)

0 投票
1 回答
212 浏览

clojurescript - :npm-deps 失败“节点”未找到

我正在尝试使用 clojurescript 编译器的新 :npm-deps 功能来包含 React-Helmet 组件(https://github.com/nfl/react-helmet)。“开发”构建的相关片段:

我通过运行 start 得到了 cljs REPL!在用户 ns 中的函数:

然后编译失败:

(自然安装了node.js)。

0 投票
1 回答
165 浏览

clojure - 将前端添加到现有 Clojure 终端应用程序

我有一个内置于 Clojure 并连接到 MySQL 的终端应用程序,但我想知道添加前端的最简单方法。我遇到了这篇推荐 ring 的帖子(5 年前),并进行了设置:Add webapp frontend to existing clojure app

将 deps 添加到项目后,将处理函数添加到 core.clj:

启动一个网络服务器并得到输出“Hello World”。

好的,现在呢?我熟悉像 Figwheel 这样的模板,它可以让你开箱即用地构建 Clojurescript(它不附带后端?)以及像 Reagent 这样的工具,它可以让你用 Clojurescript 编写 React,但我感兴趣的是是,如何在我选择的任何框架中向已经存在的终端应用程序添加前端,无论是普通的 React、带有 Reagent 的 Clojurescript、Angular,甚至是老式的 HTML/CSS/Javascript。似乎有很多模板,但没有关于如何从头开始的说明。

0 投票
0 回答
110 浏览

clojurescript - 如何在 Windows 上设置 lein Cooper?

我已按照 Windows 上的Leinigen 安装说明进行操作(c:\leinigen\在我的路径中,即在哪里lein.bat)。我现在正在尝试使用lein-cooper但这给了我以下错误:

lein cooper当我从 Powershell 提示符运行时,我得到了上述信息。我有一个完整的项目,这确实适用于我同事的 OSX,但在 Windows tit 上不起作用。

我使用以下项目文件创建了一个较小的重现:

我的src文件夹只包含一个只有命名空间的 hello-world clojurescript 文件。如果我只是lein figwheel从命令行运行,它按预期工作(即使它没有做任何有趣的事情)。

起初我认为这是一个与路径相关的问题,所以我重新启动了我的机器,但这并没有帮助。

谷歌搜索给出有用的结果

有什么技巧可以解决这个问题吗?或者我应该提交一个错误(如果是这样:在哪里?对于无花果,还是对于 lein-cooper?)。

0 投票
1 回答
136 浏览

reactjs - 如何在 figwheel ClojureScript 中禁用 reactjs 警告?

我想禁用控制台中的所有警告,有没有办法做到这一点?

0 投票
2 回答
542 浏览

clojure - Figwheel 环境变量

我了解 Figwheel 允许我指定不同的构建。(也许将它们视为环境的另一种方式?)

根据构建/环境,我可能需要在我的代码中使用不同的行为。例如,在 dev 中,我连接到某个 API 端点,而在 prod 中,它是一个不同的端点。理想情况下,我想要某种方式(大概属于 project.clj)来指定环境特定的变量,然后在我的 cljs 代码中访问它们。

有没有一种机制可以做到这一点?

我正在描绘这样的事情:

然后在我的 cljs 代码中,我想以某种方式访问​​它们。如果重要的话,我正在运行一个试剂项目。

0 投票
0 回答
139 浏览

clojurescript - devtools.core not found after including cljs-ajax

I've set up a new Reagent project with lein new reagent-frontend serverless-todo-front-cljs

After I include cljs-ajax and run lein figwheel I get an error:

The install is fresh the only change I have made is to include cljs-ajax in project.clj, like this:

Any tips on how to solve or how to even attempt to debug this are highly appreciated. I have already tried deleting the entire project and creating a new one with a different name.

0 投票
1 回答
415 浏览

react-native - REPL - Figwheel 无法连接到重生应用程序

我正在从 Re-Natal 模板启动一个应用程序(没有更改它;project.clj来自https://github.com/drapanjanas/re-natal/blob/master/resources/project.clj)。

然后我跑了

该应用程序在设备上运行正常,但 repl 停留在Prompt will show when Figwheel connects to your application,并且代码不会重新加载。同样的情况也发生在real安卓设备上。

我也在启动后重新加载应用程序。

我错过了什么吗?


更新:输出来自react-native run-android