問題タブ [requirejs-rails]
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 - RequireJS - 他の Rails/JS アプリケーションで再利用するためにバックボーン関連のモジュールをパッケージ化する
Rails とクライアント側の Backbone.js に基づいて Web アプリケーションを構築しています。Coffeescript-Code を構成するために、RequireJS とrequirejs-railsを使用しました。私の Backbone クラスはそれぞれ、独自の RequireJS モジュールに存在します。
私は最近、多くのコードをいくつかの基本クラスにリファクタリングし、それらを何らかの方法でパッケージ化して、他のプロジェクト (Rails および/または Javascript/Coffeescript、RequireJS がなくても可能) で簡単に再利用できるようにし、別のプロジェクトとして GitHub で共有したいと考えています。私のRailsアプリケーションから。パッケージに関する RequireJS のドキュメントを読みましたが、詳細にはあまり触れていません。だから、これは私がやりたいことです:
- 共有コードを独自のパッケージに移動すると、次のように
views/base_collection_view
なります。commons/views/base_collection_views
- Railsアプリケーションのrequirejs-railsセットアップにパッケージを含め、
my-commons.js
非requirejsセットアップ内で使用するコンパイル済みファイルを提供します(後者は、パッケージのレイアウト方法を理解したら、アーモンドを使用してかなり簡単に実行できると思います)
この時点で、再利用可能な RequireJS パッケージの完全な例と、これを requirejs-rails に転送する方法のいくつかのアイデアが非常に役立ちます。
ruby-on-rails - Jasmine、RequireJS、Rails
私が構築しているプロジェクトのためにrequireJSに移行し始めています。私は現在jasminerice、rails 3.2、およびrequire-rails gemを使用しています。
http://ryantownsend.co.uk/post/31662285280/jasminerice-and-requirejs-rails-fixを実装しようとしましたが 、ほとんど成功しませんでした。仕様はまったく実行されません。
私は、requirejsを単独で使用する方が良いのではないか、それともジャスミンの宝石を使用する方が良いのではないかと考え始めていますか?
私はジャスミンライスまたはrequire-rails gemのどちらにも販売されていないので、最高のツールに関するアドバイス、およびそれを起動して実行する方法/優れたチュートリアルに関するヒントはありますか?
requirejs - テスト中: すべての JS が requirejs でロードされていることを確認してください
機能仕様に問題があります。私は現在、requirejsが悪者であると疑っています。私たちの仕様 (capybara-webkit を使用した Rails) は、すべての JavaScript ファイルが読み込まれる前に実行を開始するようです。Capybara-webkit を使用すると、Webkit で Javascript を評価できます。これを使用して、テスト実行を開始する前にすべてが整っていることを確認したいと思います。
ロードしたモジュールについてrequirejsにクエリを実行できますか? 聴けるイベントはありますか?または、テスト実行時にrequirejsモジュールを挿入して、テストからクエリできるグローバル状態を設定できますか(実際には私の好みのソリューションではありません)?
私はrequirejsの専門家ではなく、JavaScriptをあまり実装していませんが、修正する必要があります;)
ruby-on-rails-4 - define() 内のすべてのモジュールは未定義です
Rails 4 プロジェクトのクライアント側モジュール間の依存関係を管理するために、requirejs-rails を使用しています。
私のエントリポイントは次のとおりです。
ただし、定義関数で「注入」された各モジュールは未定義です。つまり、定義関数内で呼び出すと
私は受け取ります
どこかに循環参照があると思ったので、angular以外のすべてのモジュールを削除しました
しかし、同じ結果が得られます。角度は未定義です。
更新しました
requirejs.yml
requirejs-rails - デバッグモードでのみ機能するRequirejs-rails
rails で小さなプロジェクトを作成し、requirejs-rails gem を追加しました。必要に応じてセットアップしましたが、assets:precompile の実行中に、requirejs-rails が JavaScript リソースをコンパイルしようとすると失敗します。しかし、奇妙なことに、assets:precompile はデバッグ モードで動作するようです。残念ながら、Heroku に適切にデプロイできるように、非デバッグ モードで実行する必要があります。以下は、エラーとスタック トレースです。誰でもこれに遭遇しましたか?さらに重要なことに、これに対する解決策はありますか?
/home/whyves/.rvm/rubies/ruby-2.1.2/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /home/whyves/RubymineProjects/test2/bin/spring rake --trace assets:precompile
** Invoke assets:precompile (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
** Invoke requirejs:precompile:external (first_time)
** Invoke requirejs:test_node (first_time)
** Execute requirejs:test_node
** Execute requirejs:precompile:external
/home/whyves/.rvm/rubies/ruby-2.1.2/bin/ruby rake --trace assets:precompile requirejs:precompile:all RAILS_ENV=production RAILS_GROUPS=assets --trace
/home/whyves/.rvm/rubies/ruby-2.1.2/bin/ruby: No such file or directory -- rake --trace assets:precompile (LoadError)
rake aborted!
Command failed with status (1): [/home/whyves/.rvm/rubies/ruby-2.1.2/bin/ru...]
/home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/file_utils.rb:54:in
create_shell_runner のブロック' /home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/file_utils.rb:45:in call'
/home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/file_utils.rb:45:in
sh' /home/whyves/.rvm/gems /ruby-2.1.2/gems/rake-10.3.2/lib/rake/file_utils_ext.rb:37:in sh'
/home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/file_utils.rb:82:in
ruby' /home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3. 2/lib/rake/file_utils_ext.rb:37:in ruby'
/home/whyves/.rvm/gems/ruby-2.1.2/gems/requirejs-rails-0.9.3/lib/tasks/requirejs-rails_tasks.rake:19:in
ruby_rake_task' /home/whyves/.rvm/gems/ruby-2.1.2/gems/requirejs-rails-0.9.3/lib/tasks/requirejs-rails_tasks.rake :86:in block (3 levels) in <top (required)>'
/home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/task.rb:240:in
call' /home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/task.rb:240:in block in execute'
/home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/task.rb:235:in
each' /home/whyves/.rvm /gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/task.rb:235:invoke_with_call_chainexecute'
/home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/task.rb:179:in
のブロック内' /home/whyves/.rvm/rubies/ruby-2.1.2/lib/ ruby/2.1.0/monitor.rb:211:inmon_synchronize'
/home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/task.rb:172:in
invoke_with_call_chain' /home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/task.rb:201:in block in invoke_prerequisites'
/home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/task.rb:199:in
each' /home/whyves/.rvm/gems/ruby -2.1.2/gems/rake-10.3.2/lib/rake/task.rb:199: invoke_prerequisites'
/home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/task.rb:178:in
invoke_with_call_chain'/home/whyves/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1 のブロック内。 0/monitor.rb:211:in mon_synchronize'
/home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/task.rb:172:in
invoke_with_call_chain' /home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/task.rb:165:in invoke'
/home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/application.rb:150:in
invoke_task' /home /whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/application.rb:106:in block (2 levels) in top_level'
/home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/application.rb:106:in
each' /home/whyves/.rvm/gems/ruby-2.1.2 /gems/rake-10.3.2/lib/rake/application.rb:106:in block in top_level'
/home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/application.rb:115:in
run_with_threads' /home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/ application.rb:100:intop_level'
/home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/application.rb:78:in
実行中のブロック' /home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/application.rb:176:standard_exception_handling'
/home/whyves/.rvm/gems/ruby-2.1.2/gems/rake-10.3.2/lib/rake/application.rb:75:in
実行中' /home/whyves/RubymineProjects/test2/ bin/rake:8: in <top (required)>'
/home/whyves/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:241:in
load' /home/whyves/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:241 : in block in load'
/home/whyves/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232:in
load_dependency' /home/whyves /.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:241:in load'
/home/whyves/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in
require' /home/whyves/.rvm/rubies/ruby-2.1.2/lib /ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in require'
-e:1:in
' タスク: TOP => assets:precompile => requirejs:precompile:external
プロセスは終了コード 1 で終了しました
`