問題タブ [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.
testing - 単純なclojurescriptコンパイルの直接の結果を取得するにはどうすればよいですか?
テスト中にJavaScriptコードをアプリに挿入できるようにしたい。この一連の推論に続いて、私は担当者として次のことを行います。
そして私は・・・それから私は
はい、これが私が欲しいもののようです。誤解される可能性がありますが、「base.js」依存関係は、テスト対象の実行中のアプリ(:simple:optimizationsを使用)にすでに含まれているため、必要ないと思います。
私の質問は、どうすればファイルの内容を取得できますout/x8LL7.js
か?out/x8LL7.js
から返されるdepsファイルの文字列は使用できないため、書き込まれる文字列が必要ですcljs.closure/build
。
簡単ではない場合は、返されたdeps文字列を解析し、自分でファイルを開いてからコンテンツを使用できると思います。大したことではありません。それでも、もっと直接的な方法があることを望んでいました。
clojure - Clojurescript 名前空間の更新
私は lein cljsbuild を使用しており、ブラウザーを更新せずにコンパイル済みファイルをリロードする方法を見つけたいと考えています。ブラウザーに接続された REPL からこれを行う組み込みの方法はありますか?
leiningen - ClojureScript で Cljsbuild を使用して外部 JS ファイルをコンパイルする
lein-cljsbuild を使用していくつかの JS ライブラリをコンパイルして、ClojureScript コード ベースに統合しようとしています。まず、各ファイルの先頭に goog.provide を追加しました。ファイルは名前空間に従って (Java のように) ディレクトリ ツリーに階層的に編成されます。つまり、名前空間 abc は src-js/libs/a/b/c.js にあります
JS ファイルを src-js/libs のプロジェクトのルート ディレクトリに配置しました。lein-cljsbuild には次の :compiler オプションがあります。
コンパイル済みアプリ ファイルにコンパイルされる JS ファイルはありません。どうしたの?
また、それらを resources/closure-js/libs に配置しようとしましたが、成功しませんでした。
lein-cljsbuild 0.3.0 を使用しています。
clojure - lein ring サーバーが自動的に再構築されない
私は小さな clojurescript プロジェクトを書いており、開発 Web サーバーとして lein ring を使用する多数の lein cljsbuild の例に従いました。
lein ring server
以前は、ローカル マシンで Web サイトを提供するために実行していました。hiccup html 定義を含む clj ファイルを変更しても、lein ring サーバーが自動的に再構築および再起動しないようです。
https://github.com/weavejester/lein-ringによると、これが当てはまるはずです(読み間違えたかもしれませんが、リロードがデフォルトであるべきだと書かれています)。
私の project.cljs は、多かれ少なかれhttps://github.com/emezeske/lein-cljsbuild/blob/master/example-projects/advanced/project.cljと同等です
何か案は?
clojurescript - Clojurescript で一致しない区切り文字を見つける
{}()[]
Clojurescriptでは、中括弧、括弧、または角括弧が一致しない状況に陥ることがあります。私は使用leininingen
しcljsbuild
ていますが、エラーの原因を突き止めるのに苦労しています。通常、それは次のようなものに要約されます。
Compiling "resources/public/js/whitespace.js" failed.
clojure.lang.ExceptionInfo: java.lang.RuntimeException: Unmatched delimiter: ) at line 1
ファイル名、行番号情報が含まれていないように見える広範なスタック トレースが続きます。
どうすればより有益な情報を入手できますか?
これまでの私の回避策
バージョン管理を使用して、ファイルとその以前の状態の違いを探します。次に、ブラケットが変更された場所を確認します。
%
救助に広範囲に一致するvimの括弧を使用してください。
clojure - lein-cljsbuild source-cljs dir -> output-js dir?
cljsbuild doc を見る https://github.com/emezeske/lein-cljsbuild
それが必要です
:source-paths をディレクトリとして
:output-to を js ファイルとして
なぜソースディレクトリ -> 出力ディレクトリにしないのですか??
多くの出力ファイルにコンパイルされる多くのソース ファイルをどのように管理しますか?
*.cljs @sourceDir -> *.js @targetDir をマップする構成はありますか?
clojurescript - 同じページに複数の ClojureScript ファイル
Jasmine を使用して JavaScript をテストするプロジェクトがあります。フロントエンドに ClojureScript を使用するように切り替えようとしています。私project.clj
のようです
したがって、 のすべての.cljs
ファイルはsrc/clojurescript
にコンパイルされ、 のmain.js
すべてのファイル.cljs
はにコンパイルspec/clojurescript
されmainSpec.js
ます。Jasmine ページをロードすると、両方の.js
ファイルがロードされますが、テストは実行されません。コンソールで、Error: Namespace "goog.debug.Error" already declared.
両方の.js
ファイルの上部に同じ〜30k行のGoogleクロージャーコードがあり、エラーが発生しています。このコードを削除すると、正常にmainSpec.js
動作します。cljsbuild にこのコードをスペック ファイルから除外するように指示する方法はありますか?