问题标签 [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.
clojure - Clojure 构建前和构建后挂钩
我有一个带有以下内容的 project.clj
别名“build-site”将 html 文件和资产导出到构建目录
我想运行无花果轮场景,并希望在无花果轮进程之前运行别名或包含在lean figwheel
调用中。
我怎样才能做到这一点?
更新
["run" "-m" "cjohansen-no.web/export" ["cljsbuild" "auto"]]
似乎包括["cljsbuild"....
作为参数我怎么能逃脱呢?
还
["build-site" ["run" "-m" "cjohansen-no.web/export" ] [":cljsbuild" "auto"]]
给我一个
映射文字必须包含偶数个表单。
然而在样本中。project.clj 这似乎是一种公认的语法....怎么来的?
继续获取
传递给引用 {:form (quote cjohansen-no.web/export [])} 的 args (2) 数量错误
这是导出文件....
(defn export []
(let [assets (optimizations/all (get-assets) {})]
(stasis/empty-directory! export-dir)
(optimus.export/save-assets assets export-dir)
(stasis/export-pages (get-pages) export-dir {:optimus-assets assets})))
这是别名
"build-site" ["run" "-m" "cjohansen-no.web/export []"]
"build" ["cljsbuild" "auto"]
这是命令
lein build-site build
javascript - 将 figwheel 或 boot 的 cljs-repl 注入任意网页
leiningen 插件 figwheel 或 boot 的对应物可以在任意网页中使用吗?我认为它可以替代浏览器的内置开发者控制台。
这是我想象这个工作流程的一个简单场景:您在浏览器中打开一个任意网站。除此之外,您在终端窗口中有一个浏览器 repl,它由上述工具之一提供。(我猜他们都为此使用了“weasel”。)在终端内部,可以访问 weppages DOM 的当前状态。例如:(set! (.. js/window style backgroundColor) "green"))
我想这应该不会太成问题而无法归档。但是,我遇到了以下问题:
这两个工具实际上只是将一堆 JavaScript 注入到用户的 HTML 页面中。它基本上是:将用户的 ClojureScript 编译为 JavaScript,并通过 websockets 额外实现热重载机制。第二个只是在项目投入生产时省略。
我的想法是将整个捆绑包注入另一个页面。
我使用引导进行尝试。设置好引导的 ClojureScript REPL 后,我在浏览器中打开了 localhost:port。它的初始源代码如下所示:
在页面加载时执行 main.js 之后,许多(超过 100 个)进一步的 javaScript 标记被注入到页面中。我最初的想法是现在打开另一个页面,比如duckduckgo.com,然后将一个脚本标签注入其中,并添加到本地主机的绝对路径。所以,在duckduckgo.com 页面的开发者控制台中,我这样做了:
正如预期的那样,脚本被注入,这总是导致其代码立即执行。我期待所有其他脚本标签现在会自动注入。最后,webSockets 应该连接到 ClojureScript repl。
但是,浏览器控制台中出现以下错误:A call to document.write() from an asynchronously-loaded external script was ignored.
事实上,许多其他脚本标签已被注入。但不是全部。实际上,未建立套接字连接。
所以,看起来有些脚本标签是由我自己使用的机制(通过 appendChild)注入的,其他的应该由document.write("<script...
后来导致问题在这里。
有人知道存档的方法吗?
clojure - 如何使用 figwheel 为 clojurescript 开发设置 atom 编辑器?
看起来原子编辑器通过各种包具有合理程度的 clojure 和 clojurescript 支持。有没有人有推荐的方法来配置它以使用无花果?显然,这可以使用单独的终端,但我对是否可以使用更集成的编辑 REPL 感兴趣。REPL 在浏览器应用程序中执行代码的地方。
我正在为intellij/cursive ide寻找类似于https://github.com/bhauman/lein-figwheel/wiki/Running-figwheel-in-a-Cursive-Clojure-REPL提供的帮助。
更新:在阅读了在 NRepl 中使用 Figwheel REPL并意识到 atom 包proto-repl提供的“启动 REPL”命令可能已运行lein repl
后,我相应地更新了我的项目 -请参阅 gist。
启动 REPL 产生了一些有希望的输出(参见 gist),并且应用程序在浏览器中正确启动。
差不多好了!这可行,但到目前为止我还没有找到再次释放端口 3449 的方法。甚至没有关闭编辑器并重新启动。
这是问题
clojure - 如何使用 lein-figwheel 编译和导入 Java 类?
我添加 :java-source-paths ["src/java"]
到我的 project.clj 中,lein uberjar可以工作,但是在运行lein figwheel时出现以下错误:
我将此添加到“:uberjar”部分
有关如何解决此问题的任何线索?
javascript - 使用 ClojureScript 项目中的 Node.js 库
我正在尝试在基于 Figwheel 的 ClojureScript 应用程序中使用基于 Node.js 的组件( https://github.com/leandrowd/react-responsive-carousel )。
不幸的是,我找不到带有react-responsive-carousel
. 由于我的应用程序不是由 Node.js 运行的,因此它不能require
等等。
是否有从 ClojureScript 重用 Node.js 库的优雅方法,或者将任何 Node.js 库打包成独立文件的解决方案?
clojurescript - lein figwheel vs lein cljsbuild auto
lein figwheel 和 lein cljsbuild auto 有什么区别,因为我相信它们都是用来编译 clojurescript 的。
另外使用其中一个有什么好处吗?
clojurescript - 如何通过 ClojureScript 将 Ratom 从浏览器传输到 REPL?
我刚刚开始在 ClojureScript 中开发应用程序,并且正在使用 Figwheel 和 Reagent 和 LightTable。一切似乎都是超级互动的,我真的很喜欢 REPL 和代码重新加载的想法,但我不知道如何将 Ratom 从浏览器传输到 REPL。例如,如果我正在开发 tictactoe,如果我能够将当前的板子状态转移到 REPL 只是为了在那里玩它(检查一些功能行为等),那就太棒了。可能吗?
例如,ratom 在tictactoe.core
命名空间中定义如下:
在浏览器控制台中有关 Ratom 的信息如下所示:
当我试图获取有关终端中 REPL 中的原子位于tictactoe.core
命名空间中的信息时:
我做错了什么?在同一个 REPL 中,我得到println
的结果与浏览器中的相同。
我应该怎么做才能在 REPL 中获得随机数的价值?
emacs - 在 Emacs 中的 Cider 中,有没有办法重新启动 Figwheel 以检测新的依赖项?
我向我的 Clojurescript 应用程序添加了一个新的依赖项,我想知道我是否可以运行一个函数,比如(restart-figwheel)
重新启动 Figwheel。我读到您必须重新启动 Figwheel 才能检测新的依赖项。
clojurescript - :libs - c:\...\Blocks-Editor\app\js\dependencies\google-blockly\core\blocks.js 不是相对路径
抱歉,这一定是非常愚蠢的事情,但我不知道是什么。
在 REPL 中,(start-figwheel!)
输出:
我正在使用Google Blockly Library,它使用 GCL
怎么了?
这是项目文件树:
谷歌阻止:
项目.clj
clojurescript - 如何在“figwheel”开发服务器中进行代理?
在grunt
//webpack
中express
,我可以将其他域/主机名中的一些 API 代理到提供 html 页面的当前服务器并解决 CORS 问题。
我找到了启动http服务器的figwheel
用途ring
,然后我想我可以使用https://github.com/tailrecursion/ring-proxy为figwheel
服务器添加代理路径。但我不知道如何在figwheel
项目之外做到这一点。
谢谢!