問題タブ [envjs]
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.
javascript - DOM をロードし、サーバー側で .Net を使用して JavaScript を実行する
ドキュメント (文字列形式) または URL を使用して DOM をロードし、それに対して JavaScript 関数 (jquery セレクターを含む) を実行したいと考えています。これは完全にサーバー側であり、進行中です。クライアント/ブラウザーはありません。
基本的に、DOM をロードしてから、jquery セレクターと text() & type val() 関数を使用してそこから文字列を抽出する必要があります。私は本当にdomを操作する必要はありません。
I have looked at .Net javascript engines such as Jurassic and Jint, but neither support loading a DOM, and so therefore can't do what I need.
I would be willing to consider non .Net solutions (node.js, ruby, etc) if they exist, but would really prefer .Net.
edit The below is a good answer, but currently I'm trying a different route, I'm attempting to port envjs to jurassic. If I can get that working I think it will do what I want, stay tuned....
javascript - envjsで相対window.location.hrefを設定する
Jasmineでjavascriptユニットテストを実行するために、javaを使用してEnvjsを実行しています。これにより、ブラウザーなしでテストを実行できるようになり、Jenkins(継続的インテグレーションビルドサーバー)への統合が容易になります。
以下のようなコードを使用して、実際のジャスミンテストランナーをロードするだけのLoadSpecRunner.jsファイル(Envjsが実行する)があります。
問題は、ファイルへの完全なURLの設定が正常に機能するのに対し、相対パスを設定する試みはすべて失敗することです。以下は、返された出力に相対URLを設定するための私の試みの一部です。
また
ファイルfile://c/source/JasmineTest/SpecRunner.html
Java例外を開くことができませんでした:java.net.UnknownHostException:c
ファイルfile:// c /:/ Source / jasmine-reporters / about:blank
JavaException:java.net.UnknownHostException:cを開くことができませんでした
誰かアイデアはありますか?
ありがとう
Cedd
PS。私がやろうとしていることについてさらに読む:
http://skaug.no/ingvald/2010/10/javascript_unit_testing/
http://www.build-doctor.com/2010/12/08/javascript-bdd-jasmine/
javascript - Java Script MVC スチール/buildjs - 空の .js ファイルを削除する
Javascript MVC の steel/buildjs を使用してビルドしようとすると、envJS は暗黙のうちに JavaScript ファイルの圧縮とエラーのチェックに失敗します。
envJS のドキュメントを読んだところ、場合によっては空の .js ファイルをビルドしようとすると envJS が失敗することがわかりました。
明らかにそれは私の場合であり、後でいくつかの空の .js ファイルを作成しました。
ビルド前に空の .js および .ejs ファイルのチェックを追加する方法が必要です。
steel/buildjs を実行しているときに、空の .js と .ejs をチェックする最も効率的な方法は何でしょうか?
javascript - envjs で requireJs を使用する方法
誰かがbumblebeeとrequireJsを組み合わせる方法についてのヒントを教えてもらえますか? BumbleBee は、Rhino、JSpec、Envjs、および Ant を組み合わせて、「すぐに使える」JavaScript テスト ツールキットを提供します。ubuntu-boxの端末で簡単なスタンドアロン実行が可能になるため、私たちにとって非常に便利です。
requireJs-Modules に基づく私たちの JS コード全体は、必要なモジュールが envjs/bumblebee/rhine の仕様ファイルから要求された場合にロードされないようです(どのようなものが原因である可能性がありますか)。これは、requireJs の非同期性が原因です。
私がやったこと:
- 上記のgithub サイトの指示に従って BumbleBee-Environment をセットアップしました
- コマンド「ant examples」は正常に機能し、両方のテストケースが正常に実行されています
- 依存関係にrequire-jquery.jsを追加しました(最初にセットアップされたjquery.jsを置き換えます)(この方法は、チュートリアル「requireJSでjQueryを使用する方法」に従います-Web アプリケーション全体で正常に実行されます(そして正常に動作します))
- 私はいくつかのrequireJS-Modulesを書き、スペックファイルでそれらを必要とし、それらがロードされないことを非常に迅速に検出しました(スペックファイルがロードされ、requireメソッドが実行されますが、コンテンツは実行されません)
- 次に、requireJS と Node を組み合わせるために、これらのセットアップ ヒントをいじってみました (rhino もここで言及されています)。
これらのファイルは興味深いものになる可能性があります。
lib/bumblebee.js (テスト スイート全体のエントリポイントと見なされます):
「A3」のみがコンソールに出力され、require ベースのコードがここで実行されることはありません。
次に、define/require-parts を example-files から spec-files に入れ、require でモジュールを使用できないことも検出しました。
BambleBee-Examples の元の仕様ファイルを検討します。
現在、requireJS 固有のモジュールを使用すると、それらも読み込まれません。
質問:
Envjs を requireJS と組み合わせる方法はありますか、それとも EnvJS は私たちにとって間違ったテスト ツールですか? ヒントをありがとう!
javascript - Rhino コマンド ラインの実行が強制終了される - 原因 / デバッグ方法
Rhino + Envjs と Ubuntu を実行する CI サーバーを使用した Javascript テスト セットアップがあります。以下を使用して、コマンドラインからテストを実行しています。
驚くべきことに、次の問題が発生しました。テストの実行が停止し、次のみが出力されます。
別のコンピューター (Mac) では、同じテストが問題なくパスします。デバッグ スイッチ-debug
と Java メモリ サイズを試し-Xmx1024m
ましたが、役に立ちませんでした。
注: サーバーを再起動すると、今回は問題が解決しました。
更新: 数日後、これは今日数回発生しましたが、その後のビルドは成功しました。
更新 2 : これは、時々、テストが正常に実行された後にも発生するようです。
これは単一のケースかもしれませんが、このようなことが再び起こった場合の理由や、Rhino をデバッグする方法を知っていますか?
br, トウコ
android - rhino + env.rhino.js Android での StackOverflowError
Android で env.rhino.js を使用して成功した他のレポートを読みました。また、Android アプリで rhino を正常に動作させ、簡単なスクリプトを実行して、Java と JavaScript の間で引数を双方向に渡すこともできました。しかし、env.rhino.js を使用しようとすると、見つけて使用する envJ のバージョンに関係なく、どの rhino (rhino1_7R2、rhino1_7R5、および rhino1_7R5pre を試した) に関係なく、StackOverflowError が発生します。アクティビティ ベースのクラスのコードは次のとおりです。
別の VERSION 設定も試してみましたが、何も役に立ちません。私が得るスタックトレースは次のとおりです。
これはどうすれば修正できますか?繰り返しになりますが、同様の関数が、細かい単純な JavaScript コードを実行します。また、JavaScript コードを実行する代わりに WebView を使用するように言わないでください。ユーザーが画面上で何か他のことをしている間に、バックグラウンドで Web スクレイピングを行うために、Android サービスから呼び出すことができる JavaScript 機能を備えた「ヘッドレス ブラウザ」が必要です。
グレッグ
javascript - JavaアプリケーションのEnvjsとRhino-env.rhino.jsはどこにありますか?
JavaアプリケーションでenvjsとRhinoを実行して、D3.jsでSVGをレンダリングしようとしています。
これまでのところ、Rhinoを使用して小さな関数を評価できますが、envjsの設定に関しては、問題が始まります。最も重要なのは、envjsの唯一のチュートリアルがenv.rhino.jsと呼ばれるファイルについて話しているということです。しかし、どこにあるのかわかりません。
誰かが私を助けることができますか?
(はい、グーグルはいくつかの結果を示していますが、それらは公式にはRhinoまたはenvjsに属していません)
java - Java コードから javascript(jQuery/Envjs) を呼び出す
Java から Javascript コードを実行しようとしています。Javascript コードは jquery を使用するため、コードの前に jquery.js を追加します。しかし、次の例外がスローされます。
これをJavaコードから実行すると、ウィンドウオブジェクトにアクセスできないため、例外が発生することがわかりました。EnvJs が必要な環境の実装を提供することがわかったので、スクリプト コンテンツを生成して eval するときに、そのコンテンツを最初に配置することによって、最初にそれをロードしようとしました。ただし、次の例外が発生します。
以下はコードスニペットです。
私はブラウザ機能を使用しないので、オブジェクトのようなウィンドウは必要ありません。したがって、理想的には Envjs をロードしたくありません。jQueryコードの読み込み方法を教えてください。
もう 1 つの質問 - Json オブジェクトを Java コードから Javascript 関数にパラメーターとして渡す方法は?
http://www.envjs.com/dist/env.rhino.1.2.js
http://code.jquery.com/jquery-1.9.0.min.js