私のサイトの別々の部分には、別々のJavascriptファイルセットがあります。これらはすべて一緒になって互いに干渉し合います。 Jasmineですべてをテストするには、スイートごとに別々の資産セットを定義する必要があるようです。これは現在可能ですか?あれば、どうですか?ジャスミン:Rails用に別々のソースファイルセットを定義しますか?
8
A
答えて
2
あなたの提案するように、JavaScriptを別の名前空間に分割することを検討してください。 javascriptを複数のファイルに分割することを簡単にする1つのすばらしい方法は、closureとjavascriptのいくつかのきちんとしたプロパティを使用して、必要なコードをただちに実行し、それを含むmodule patternを使用することです。
+0
2つのjsファイルが同じ名前の関数を定義している場合はどうなりますか? Webアプリケーションでは、両方がロードされず、ジャスミンで衝突します。 – apneadiving
+1
謝罪;以前はJasmineを使用していませんが、一般的に上記の手順はjavascriptファイルを分割するのに適しています。同じ名前の関数が2つある場合は、おそらくそれぞれの名前空間/クラスに属しているはずです。 – NT3RP
関連する問題
- 1. Railsアプリケーションの管理インターフェース用に別々のビューとアセットを定義する
- 2. ジャスミン:なぜ未定義?not.toBeDefined?
- 3. Typescript:定義を別々のファイルに分割する方法
- 4. メディアの左右のボリュームを別々に設定しますか?
- 5. Ruby on RailsはCSVを別々の行で作成します
- 6. Djangoで拡張htmlテンプレート用に別々のCSSファイルを定義できますか?
- 7. Railsでは、どのように "_new_path"を定義しますか?
- 8. カルマはジャスミンと共存していますか?オンライン定義から
- 9. 角度カルマ-ジャスミンは未定義
- 10. Django:最初のページで別々にページを設定します
- 11. Avaloniaの各プラットフォーム/ OSに別々のスタイルセットを定義する方法は?
- 12. 画面の向きに基づいて別々のXAMLレイアウトを定義する
- 13. stderr outとstdoutを別々のログに再定義する方法は?
- 14. HaskellとGPipeで別々のファイルにシェーダを定義する方法
- 15. Rails Devise - サインインしたユーザーと匿名ユーザーのルートパスを個別に定義する
- 16. ブートストラップカルーセル用に別々のdivにサブメニューをラップします
- 17. ジャスミンのcalls.lengthとcallCountは定義されていません
- 18. Rails 3.2で "error_messages"を使用しますか? (上げる「未定義のメソッド」エラー)
- 19. Rails - 別々のオブジェクトに値を追加する方法
- 20. ReferenceError:ブラウザが定義されていません - カルマとジャスミンの使用
- 21. smoothScroll.init()を定義します。別ファイルで
- 22. ジャスミン:ジャスミンを使用して別の関数から呼び出される関数をテストする
- 23. web.xmlとweb-fragment.xmlからコンテキストパラメータを個別に定義します
- 24. SFINAEの削除、Constexprと関数テンプレート:宣言と定義を別々に保つことはできますか?
- 25. Flexの別の定義で以前のregex定義を使用するには?
- 26. ReferenceError:$は定義されていません - ジャスミン
- 27. ジャスミン:要求が定義されていません
- 28. 別々の仮想ホスト用に別々のエラーログを作成する方法
- 29. 別のファイルに定義定数を使用する
- 30. Filebeat/ELKの異なるログ用に別々のインデックスを定義する方法は?
どのように相互に干渉するのか説明できますか? Javascriptを慎重に名前空間に配置し、定義する前に名前空間内の各モジュールがすでに定義されているかどうかを確認する場合は、競合を避ける必要があります。おそらく、紛争の例を挙げると、紛争を避けるために物を再梱包する方法を示すことができます。 Rails 3.1のアセットパイプラインは、(デフォルトでは、とにかく)1つのapplication.jsで定義されたすべてのjavascriptを持つことができるようになります(つまり、すべてのモジュールは1つのファイルにロールアップされます)。 – mwolfetech
私は自分のサイトの公開部分と管理部分のJSファイルを設定しました。どちらの関数も同じ名前のグローバル変数を持っていました。私がやったことは、(1)共通の動作を共有JSファイルに含めること、(2)(クラスと継承を実装する)(http://ejohn.org/blog/simple-javascript-inheritance/)行動の変種。ですから、基本的にはJSファイル全体をまとめて整理し、同時に共存させることができます。しかし、私はまだファイルのサブセットだけをテストすることで価値が見えます。 –