【问题标题】:How to write frontend (reagent) and backend (express.js) applications in a same clojurescript setup?如何在同一个 clojurescript 设置中编写前端(试剂)和后端(express.js)应用程序?
【发布时间】:2022-04-25 14:00:14
【问题描述】:

我可以在同一个 clojurescript 项目中编写前端(试剂)和后端(express.js)应用程序吗?

在这两页之后。

  1. Writing Node.js applications in Clojure and using NPM packages后端(express.js)

  2. shadow-cljs前端(试剂,反应)

    两者都差不多,新建一个带有npx create-cljs-project {project-name}的cljs项目。但是,这是两个独立的项目,我可以在同一个项目中编写前端和后端应用程序,如果可以的话,如何管理这个项目中的repl?

【问题讨论】:

    标签: node.js clojurescript shadow-cljs


    【解决方案1】:

    当然,整个系统旨在组合任意数量的东西。只需在 shadow-cljs.edn :builds 映射中配置多个构建。

    如果您已经拥有两个单独的项目,只需获取 .cljs 文件并将它们移动到另一个。然后获取构建配置并将其移动到另一个shadow-cljs.edn

    您可以从 shadow-cljs UI 或命令行控制多个构建。所有与构建相关的命令都允许您指定多个构建(例如,npx shadow-cljs watch backend frontend:frontend:backend 构建在 shadow-cljs.edn 中)。

    您可以使用命名空间来正确“分类”您的项目。对于前端相关的事情,我通常有类似 my.app.uimy.app.frontend 之类的东西,以及类似 my.app.servermy.app.backend 之类的东西。

    在运行两个构建的 watch 时,您只需在编辑器中的 REPL 之间切换。从命令行您可以只使用npx shadow-cljs cljs-repl frontendnpx shadow-cljs cljs-repl backend。或者从 Clojure REPL 通过npx shadow-cljs clj-repl(shadow/repl :frontend) 在它们之间切换。这将带您进入 :frontend 构建的 CLJS REPL。您可以通过:cljs/quit 退出,这会将您带回 CLJ REPL。

    【讨论】:

    • 感谢您的评论,我可以找到一个现有的项目供参考吗?
    猜你喜欢
    • 2017-08-02
    • 1970-01-01
    • 2023-02-17
    • 2013-08-01
    • 2021-02-14
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 2014-07-20
    相关资源
    最近更新 更多