問題タブ [boot-clj]
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 - サードパーティのタスクを使用するタスクをエクスポートするブート プロジェクト
カスタム boot-clj タスクのコレクションをモデル化しています。プロジェクトの構造は、ブートレースの構造に非常に似ています。
そこで定義されたタスクは、組み込みタスクを参照するときにうまく機能し[boot.task.built-in :refer :all]
ます。ただし、1 つのタスクは boot-cljs のサードパーティ タスクを利用する必要があります。経由で要求すると[adzerk.boot-cljs :refer [cljs]]
、プロジェクトのコンパイルおよびインストール段階でうまく機能します。
別のプロジェクトでタスクを要求すると、次のエラーが発生します。
つまり、このファイル内のエクスポートされたタスクの 1 つがそのタスクを使用する必要がある場合はどうすればよいでしょうかcljs
。
file - 特定のファイルをファイルセットに取り込むにはどうすればよいですか?
私が所有していない GitHub リポジトリのファイルを利用するライブラリを作成しています。
の他の 2 つの関連ファイルを次に示しますfoo
。
build.boot
:
src/com/example/foo/core.clj
:
私が欲しいのは、次のようなことを可能にするある種のadd
タスクです:
-R
のオプションを使用してみましsift
たが、私のユース ケースでは 2 つの問題があります。
- 必要なファイル ( ) よりもはるかに多くのファイル
vk.xml
がファイルセットに取り込まれ、JAR のサイズが肥大化します。 - ディレクトリをリソース パスのセットに追加するだけなので
-R
、そのすべての内容が最上位のファイルセットに追加され、自分のリソースが簡単に破壊される可能性があります。
基本的に、以下の 3 つのコマンドと同じ効果を持つものが必要ですが、実際にはresources
ディレクトリに触れません。
つまり、com.example/foo
JAR にはその XML ファイルをリソースとして含める必要があるためcom.example/foo
、別のプロジェクトから使用するときにそのリソースを使用できるようにする必要があります。
ファイルセットに既にあるファイルに触れることなく、特定のファイル (Git サブモジュールなど) をリソースとして特定の場所にあるファイルセットにプルするにはどうすればよいですか?
clojurescript - ブラウザの repl で pprint が TypeError を引き起こす
ClojureScript ブラウザー repl 内の次の動作を理解している人はいますか? (ブート ツール チェーンによって提供される)
cljs.pprint/pprint への参照がないように見えますが、repl はこの関数のアリティを認識しています。
これも役立つかもしれません:
testing - 本番用の boot-clj プロジェクトからテスト ソースを除外する
ブラウザ環境で使用することを目的としたClojureScriptライブラリを開発しています。
したがって、開発およびテスト中に追加のソース ファイルが存在することは明らかです。これをライブラリ ソースからどのように分離できますか?
プロジェクトのインストール/デプロイ時に省略されるテスト目的のみとして一部のソースをマークする方法はありますか?
さらに、いくつかの HTML ファイル (など) を含むリソース フォルダーも、公開時に含める必要はありません。
clojure - ブラウザが間違った URL から cljs ソース マップ ファイルをフェッチする
ブラウザ内から cljs source-map ファイルにアクセスする際に問題があります。間違った URL から取得しようとしているようです。例えば:
しかし、むしろ次のようにする必要があります。
私のmain.cljs.edn
boot-clj プロジェクトは次のようになります。
これを修正する方法を知っている人はいますか?
clojure - シンプルなブート プロジェクトが cljs と async で動作しない
私は非常に単純なプロジェクトを持っています。boot と cljs を使用して、これまでで最も単純なプロジェクトを作成しました。正常にコンパイルされ、html で正しいログを確認できました。非同期の基本的なサポートを追加すると、次のメッセージが表示されました。
プロジェクトの構造は次のとおりです。
index.html の内容:
core.cljs
およびbuild.boot
元の作業プロジェクトは、core.cljs ファイルのチャネルの require と def と、build.boot に追加された依存関係を除いて、同じ基本構造を持っていました。
clojure - ブラウザが間違ったパスから ClojureScript ソース マップを読み込もうとする
Boot を使用して Clojure(Script) Web アプリを構築しています。ブラウザーは、トランスパイルされたコードをhttp://localhost:8080/main.out/calculators/frontend/core.jsから読み込みます。
そのファイルの最後の行は
URL http://localhost:8080/main.out/calculators/frontend/core.js.mapを使用して、ブラウザーからそのマップ ファイルを読み込むことができます 。
ただし、Chrome Dev Tools の [ソース] パネルで対応する ClojureScript ファイルを検索すると、間違った URL が表示されます (main.out/calculators/frontend
ネストされている自体を参照)
http://localhost:8080/main.out/calculators/frontend/main.out /calculators/frontend/core.cljs
読み込まれると、コードは表示されず、「(core.js からマッピングされたソース)」がステータス バーに表示されます。
どちらが問題になる可能性がありますか?