我想.cljs
为浏览器和 node.js 环境编译我的文件,以获得服务器端渲染。据我了解,没有办法在编译时使用阅读器宏条件定义 cljs env,例如:
#?(:clj ...)
#?(:cljs ...)
所以,我不能轻易地告诉编译器处理类似#?(:cljs-node ...)
node.js env 的东西。
我在这里看到的第二个选项是开发一个宏文件,它将在编译时定义 env。但是如何定义当前构建是针对 node.js 的呢?可能是,我可以以某种方式将一些参数传递给编译器或获取:target
编译器参数?
这是我的启动文件:
应用程序.cljs.edn:
{:require [filemporium.client.core]
:init-fns [filemporium.client.core/init]}
application.node.cljs.edn:
{:require [filemporium.ssr.core]
:init-fns [filemporium.ssr.core/-main]
:compiler-options
{:preamble ["include.js"]
:target :nodejs
:optimizations :simple}}