2013-12-07 7 views
7

Есть ли способ в clojure/clojurescript условно скомпилировать что-то в зависимости от того, компилируете ли вы JTM-байт-код Javascript?Могу ли я условно скомпилировать clojure/clojurescript?

Я пишу небольшую игру на ClojureScript, но хочу, чтобы большинство нейтрализовало платформу кода, поэтому я могу в какой-то момент конвертировать в Clojure. Я также считаю, что компиляция в Clojure лучше для поиска ошибок в моем коде.

У меня есть этот рабочий режим, имея каталог файлов clj, который cljsbuild преобразует в cljs с помощью кроссоверов.

Где я пришел, пытается использовать core.async в моих файлах clj. Это необходимо для cljs:

(ns gaz.system 
    (:require-macros [cljs.core.async.macros :refer [go]]) 
    (:require 
     [cljs.core.async])) 

Хотя это необходимо для CLJ работать

(ns gaz.system 
    (:require 
     [core.async ])) 

Я хотел бы иметь один файл с какой-либо формой условными требуют в зависимости от того, как она составляется. Возможно ли это вообще? Con

ответ

5

Посмотрите на cljx. Это даёт вам префикс s-выражений, например. #+clj или #+cljs, чтобы создать другой код для Clojure и Clojurescript.

Кроме того, хотя я еще не пробовал его до сих пор, есть lein-dalap, который, похоже, полагается на чистый, компилируемый Clojure для создания Clojurescript.

Смежные вопросы