問題タブ [cljsbuild]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
clojure - Compojure アプリ用の Clojurescript ファイルの自動ビルド
サーバーで Compojure を使用し、クライアントで Clojurescript を使用している Web アプリケーションがあります。leing-cljsbuild プラグインを使用して、cljs ファイルを自動的に js にコンパイルしています。
:whitespace
最適化をまたはに設定すると、必要なクライアント側ファイルを生成してブラウザにロードできますが、:simple
最適化をなしに設定すると、js
ファイルはローカル ファイル システム パスを使用して依存関係を参照します。ファイルがブラウザにまったくロードされません。
したがって、私の質問は、clojurescript コンパイラによって生成されたファイルがローカル ファイル パスではなくサーバー URL を使用するようにするにはどうすればよいかということです。
ここに私のproject.cljファイルがあります
clojure - 基本的な clojurescript.test サンプルを実行できません
私は基本的なテストを実行しようとしています
https://github.com/cemerick/clojurescript.test
次のような単純なプロジェクトを作成しました。
すべての clojurescript ファイルをそこに置くつもりなので、src-js と test-js の両方のフォルダーが存在します。
test-js/sampleprojフォルダーに、ドキュメントのサンプル テストをコピーしました。
テストを実行しようとすると
私はclojurescriptにかなり慣れていないので、おそらく何か不足しています。
更新:
私の環境
clojurescript - cljsbuild プロジェクトで重複を避けるにはどうすればよいですか?
私の:cljsbuild
セクションにはproject.clj
多くの重複があります:
プロファイルを使用してこの重複を取り除くことができるに違いないと確信していますが、私の Leiningen fu には欠けています。
build - コンパイルされていないファイルを特定のフォルダーに移動するように cljsbuild を設定するにはどうすればよいですか?
私の Clojurescript プロジェクトは、3 つのファイル (index.html、css ファイル、手書きの .cljs コード) から始まります。
cljsbuild が .cljs ファイルを .js ファイルにビルドするとき、それを任意の場所に配置します。index.html と css ファイルもそこに移動したいと思います。
これが必要な理由は、複数のプロファイルを持ち、両方を簡単にロードできるようにするためです。dev
JavaScript が最適化されていないプロファイルと、JavaScript が最適化されているプロファイルrelease
があります。しかし、それらを切り替えるのは面倒です。どうにかして、既存の単一の index.html ファイルを取得し、それが指している JavaScript ファイルを変更する必要があります。(2 つのindex.html
ファイルがあり、それぞれが異なる JavaScript ファイルを指している場合、一方の html ファイルを変更すると、もう一方のファイルに変更が複製されることになります)
私はむしろ2つのビルドが欲しいです:
dev
にビルドしproject/dev
ます。
release
にビルドしproject/release
ます。
両方のビルドには、、、index.html
およびstyle.css
ファイルがありcompiled.js
ます。これを実現する方法はありますか?
clojure - uberjar 中に cljx で clojure ファイルをクラスにコンパイルするにはどうすればよいですか?
私はcljxを使用してcli / cljsアプリケーションを構築していますが、私の人生では、自己パッケージ化されたコンパイル済みjarを作成できませんでした。
これが私のプロジェクトファイルです - > https://gist.github.com/chrispwood/4db33e53555a8e8787d1
クラスファイルではなく、cljファイルを含むパッケージ化されたjarのみを実行lein jar
または取得すると。lein uberjar
上記の出力ファイルを参照してください^^。
トランスパイルされたcljコードがクラスファイルにコンパイルされることを確認する方法を知っている人はいますか?
clojurescript - 複数の cljs ファイルを独立した js ファイルにコンパイルする
編集: 誰かが 1 つのプロジェクトに対して独立した cljs/js ファイルを構築しようとした場合: 以下で説明する方法とまったく同じように機能します。cljs-directories に必要なファイルだけが含まれていることを確認する必要があります.1つのディレクトリに別の(使用されていない) cljs-file のコピーを意図せず残してしまったのは私のせいです。参照されていませんが、これは必要なファイルにコンパイルされます。
複数のビルドで cljsbuild を使用して、同じページに 2 つの異なる cljs/js ファイルを生成します。これらのファイル間に依存関係はなく、異なる名前空間を使用します。高度なモードでコンパイルすると、2 つの js ファイルがビルドされます。一方の js ファイルにはもう一方のファイル全体が含まれているため、1 つのファイルが不要になります。
2 つの異なるプロジェクトをセットアップせずに、2 つの完全に独立した js ファイルを生成する方法はありますか?
私のproject.cljの一部:
leiningen - 継承された外部ライブラリを ClojureScript コンパイラ出力から除外するにはどうすればよいですか?
reagent 0.5.0
に依存するものを使用していますcljsjs/react
。後者には以下が付属していますdeps.cljs
これにより、React の JavaScript がコンパイラ出力になります。
プレーンな JavaScript ページでも React を使用したいので、これが起こらないようにしたいと思います。
また、reagent/core.cljs
ディレクティブ:require [cljsjs.react]
(To force the include?) があるため、単純に依存関係を省略することはできません。
React がコンパイラの出力で終わるのを防ぐ方法はありますか?
clojure - 「'cljsbuild' はタスクではありません」
clojure に lein を使用し、clojurescript プラグインを使用しようとしています。すべてのreadme.mdインストール手順に従い、project.cljは
lein にプラグインを認識させることができないようで、何がグレムリンなのかわかりません。