1. ホーム
  2. javascript

[解決済み] Rails 3.1 を使用して、「ページ固有」の JavaScript コードをどこに置くか?

2022-03-24 06:35:27

質問

私の理解では、あなたのすべてのJavaScriptは1つのファイルにマージされます。Railsはデフォルトでこれを行います。 //= require_tree . の下にある application.js マニフェストファイルを作成します。

これは本当に救われるような気がしますが、ページ固有のJavaScriptコードについて少し心配があります。このコードは、すべてのページで実行されるのでしょうか?私が一番避けたいのは、1ページしか必要ないのに、すべてのオブジェクトがすべてのページでインスタンス化されることです。

また、コードが衝突する可能性もあるのではないでしょうか?

それとも小さく script タグは、そのページの javascript コードを実行するメソッドを呼び出すだけなのでしょうか?

では、require.jsはもう必要ないのでしょうか?

ありがとうございます。

EDIT : すべての回答に感謝します...そして、それらが本当に問題を解決しているとは思えません。あるものはスタイリングに関するもので、関連性がないように見えますし、他のものは単に javascript_include_tag ...の存在は知っていますが (当たり前ですが...)、今後の Rails 3.1 の方法は、各ページの一番下で個々の JavaScript を読み込むのではなく、すべての JavaScript を 1 つのファイルにまとめることであるように思われます。

私が思いつく最善の解決策は、特定の機能を div タグに id または class を使用します。JavaScriptのコードでは、単に id または class がページ上にあれば、それに関連するJavaScriptのコードを実行します。この方法では、動的要素がページ上にない場合、JavaScriptコードは実行されません - たとえそれが大量の application.js ファイルを作成します。

私の上記の解決策は、100ページのうち8ページに検索ボックスが含まれている場合、その8ページのみで実行されるという利点があります。また、サイト内の8つのページに同じコードを記述する必要もありません。実際、手動でスクリプトタグを入れる必要はもう二度とないでしょう。

これが私の質問に対する実際の答えだと思います。

どのように解決するのですか?

すべての回答に感謝します...そして、それらが本当に問題を解決しているとは思えません。いくつかの回答はスタイリングに関するもので、関連性がないように思えます...また、他の回答は単に javascript_include_tag ...これは存在することは知っていますが (当然ですが...)、今後の Rails 3.1 の方法は、各ページの一番下で個々の Javascript を読み込むのではなく、すべての Javascript を 1 つのファイルにラップすることであるように思えます。

私が思いつく最善の解決策は、特定の機能を div タグに id または class esです。javascriptのコードで。そうすると id または class がページ上にあれば、それに関連するjavascriptのコードを実行します。この方法では、動的要素がページ上にない場合、javascriptのコードは実行されません - たとえそれが大量の application.js ファイルを作成します。

私の上記の解決策は、100ページのうち8ページに検索ボックスが含まれている場合、その8ページのみで実行されるという利点があります。また、サイト内の8つのページに同じコードを記述する必要もありません。実際、手動でスクリプトタグを挿入する必要はもう二度とないでしょう。

これが私の質問に対する実際の答えだと思います。