gpt4 book ai didi

clojure:devcards:分离出主应用程序

转载 作者:行者123 更新时间:2023-12-01 09:49:40 24 4
gpt4 key购买 nike

情况

我正在使用 clojure + figwheel + devcards。 https://www.youtube.com/watch?v=G7Z_g2fnEDg

一切都很好,除了以下问题:

  • 我可以为我的应用制作 UI 组件的原型(prototype)。但是,我不希望我的完整应用程序位于卡片中。

    所以特别是,我想要以下内容:

localhost:8000/cards.html <-- 显示我所有的命名空间 + devcardslocalhost:8000/app.html <-- 不要给我看任何开发卡;不要告诉我devcards的目录;只需运行我的应用程序

问题:

如何获得此设置?我读到的几乎所有内容都是关于如何使用 devcards,而不是如何设置单独的 devcards 与主应用程序的区别。

谢谢!

最佳答案

这几乎是 devcards 模板的默认设置(例如 lein new devcards my-app)。

在您的 project.clj 中有多个构建。一个用于 devcards(注意不同的路径和 figwheel 配置)。 dev 几乎是默认值。

(This code is from the template) :

 ; ...
:builds [{:id "devcards"
:source-paths ["src"]
:figwheel { :devcards true ;; <- note this
;; :open-urls will pop open your application
;; in the default browser once Figwheel has
;; started and complied your application.
;; Comment this out once it no longer serves you.
:open-urls ["http://localhost:3449/cards.html"]}
:compiler { :main "xxx.core"
:asset-path "js/compiled/devcards_out"
:output-to "resources/public/js/compiled/xxx_devcards.js"
:output-dir "resources/public/js/compiled/devcards_out"
:source-map-timestamp true }}
{:id "dev"
:source-paths ["src"]
:figwheel true
:compiler {:main "xxx.core"
:asset-path "js/compiled/out"
:output-to "resources/public/js/compiled/xxx.js"
:output-dir "resources/public/js/compiled/out"
:source-map-timestamp true }}
;...

现在您需要两个不同的 HTML 文件。您已经在使用的一个(cards.html)和您的app.html(或者模板正在使用的内容:index.html)。他们加载:

<script src="/js/compiled/xxx_devcards.js" type="text/javascript"></script>

其他:

<script src="/js/compiled/xxx.js" type="text/javascript"></script>

请注意,这是 :output-to 中的两个。

使用 lein figwheel dev devcards 运行此设置。在浏览器中打开索引和卡片。享受吧。

在实践中,将它分开一点可能会更好。您可以通过为您的 :main 使用不同的 ns 来做到这一点 - 或者您可以使用多个 :source-paths

关于clojure:devcards:分离出主应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40670145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com