如何在同一个 clojurescript 设置中编写前端(试剂)和后端(express.js)应用程序?
How to write frontend (reagent) and backend (express.js) applications in a same clojurescript setup?
我可以在同一个 clojurescript 项目中编写前端(试剂)和后端(express.js)应用程序吗?
下面这两个页面。
Writing Node.js applications in Clojure and using NPM packages 后端 (express.js)
shadow-cljs 前端(试剂、反应)
两者相似,用npx create-cljs-project {project-name}
创建一个新的cljs项目。但是,这是两个独立的项目,我可以在同一个项目中编写前后端应用程序吗,如果可以的话,这个项目中的repl如何管理?
当然,整个系统的设计目的是可以组合任意多的东西。只需在 shadow-cljs.edn
:builds
映射中配置多个构建。
如果您已经拥有两个单独的项目,只需将 .cljs 文件移动到另一个即可。然后获取构建配置并将其移动到另一个 shadow-cljs.edn
.
您可以从 shadow-cljs UI 或命令行控制多个构建。所有与构建相关的命令都允许您指定多个构建(例如 npx shadow-cljs watch backend frontend
,:frontend
和 :backend
构建在 shadow-cljs.edn
中)。
您可以使用命名空间来正确地“分类”您的项目。对于前端相关的东西,我通常有 my.app.ui
或 my.app.frontend
之类的东西,还有 my.app.server
或 my.app.backend
.
之类的东西
使用两个构建的 watch
运行,您可以在编辑器中的 REPL 之间切换。在命令行中,您可以 npx shadow-cljs cljs-repl frontend
或 npx shadow-cljs cljs-repl backend
。或者通过 npx shadow-cljs clj-repl
然后 (shadow/repl :frontend)
从 Clojure REPL 在它们之间切换。这将带您进入 :frontend
构建的 CLJS REPL。您可以通过 :cljs/quit
退出,这会将您带回 CLJ REPL。
我可以在同一个 clojurescript 项目中编写前端(试剂)和后端(express.js)应用程序吗?
下面这两个页面。
Writing Node.js applications in Clojure and using NPM packages 后端 (express.js)
shadow-cljs 前端(试剂、反应)
两者相似,用npx create-cljs-project {project-name}
创建一个新的cljs项目。但是,这是两个独立的项目,我可以在同一个项目中编写前后端应用程序吗,如果可以的话,这个项目中的repl如何管理?
当然,整个系统的设计目的是可以组合任意多的东西。只需在 shadow-cljs.edn
:builds
映射中配置多个构建。
如果您已经拥有两个单独的项目,只需将 .cljs 文件移动到另一个即可。然后获取构建配置并将其移动到另一个 shadow-cljs.edn
.
您可以从 shadow-cljs UI 或命令行控制多个构建。所有与构建相关的命令都允许您指定多个构建(例如 npx shadow-cljs watch backend frontend
,:frontend
和 :backend
构建在 shadow-cljs.edn
中)。
您可以使用命名空间来正确地“分类”您的项目。对于前端相关的东西,我通常有 my.app.ui
或 my.app.frontend
之类的东西,还有 my.app.server
或 my.app.backend
.
使用两个构建的 watch
运行,您可以在编辑器中的 REPL 之间切换。在命令行中,您可以 npx shadow-cljs cljs-repl frontend
或 npx shadow-cljs cljs-repl backend
。或者通过 npx shadow-cljs clj-repl
然后 (shadow/repl :frontend)
从 Clojure REPL 在它们之间切换。这将带您进入 :frontend
构建的 CLJS REPL。您可以通过 :cljs/quit
退出,这会将您带回 CLJ REPL。