複数のページに1つのメインJavaScriptファイルを作成するにはどうすればよいですか?

Nelwinx:

ログインページとメインページの2つのページがある小さなアプリケーションがあります。私の問題は、両方のページで1つのメインJavaScriptファイルのみを使用すると(推奨されるように)、ページ上の一部の変数が他の変数で定義されていないため、大量のReferenceErrorが発生することです...

例えば:

ログインページのコード行

copyrightYear.textContent = new Date().getFullYear();

メインページは文句を言う

Uncaught TypeError: Cannot set property 'textContent' of null

どうすれば修正できますか?if(copyrightYear) { do stuff }毎回言わなければならないことを言わないでください。すべての変数に対してそれをしなければならないのは、ただの悪夢です。

TJクラウダー:

あなたのための2つの答え:

おすすめは口述ではありません

私の問題は、両方のページに1つのメインJavaScriptファイルのみを使用すると(推奨されるように)

これは非常に一般的な推奨事項です。すべての状況に当てはまるわけではありません。そのコードを使用しないページにコードをロードしても意味がありません。

両方のページで使用するコードと、ページ固有のコードがある場合、両方のページで共有するファイルとページ固有のファイルを用意しても問題ありません。

<script src="main.js"></script>
<script src="page1.js"></script>

追加のHTTPリクエストが本当に心配されている場合(最近の問題は以前よりもはるかに少ない)、メインモジュールとページ1のモジュールのページを組み合わせたバンドルを作成するWebpackやRollupなどのバンドラーを使用します1、およびメインモジュールと2ページの2ページのモジュールを組み合わせた別のバンドル。

しかし、それでも、妥当な時間内にpage1からpage2に移動することが期待される場合は、追加のHTTPリクエストのがユーザーにとってより良い場合があります。その理由は、main.jsandおよびpage1.js/ page2.jsおよびそれらのキャッシュを許可している場合、ユーザーがpage1 にアクセスするとandが取得さmain.jspage1.js、次にpage2にアクセスmain.jsするとローカルキャッシュから取得され、ロードするだけでよいためpage2.jsです。対照的に、ページごとに1つのバンドルファイルがある場合、ページ1からページ2(またはその逆)に移動するときに、共通のコードをすべて再ダウンロードする必要があります。ただし、訪問者がpage1またはpage2のいずれかを訪問することを期待し、他の訪問者を訪問しないことを期待する場合は、ページ固有のバンドルを使用してHTTPリクエストを保存します。

万能のソリューションはありません。:-)あらゆる種類の考慮事項があります。

HTTP / 1.1は、追加のHTTPリクエストを効率化し、ほぼ普遍的にサポートされていること、および注HTTP / 2彼らが作るたくさんの効果ページの起動の一環として、HTTPリクエストの数を減らすためのケースを排除し、より効率的。最新の主要ブラウザはすべて、最新のWebサーバーと同様にHTTP / 2をサポートしています。

各ページのコードを関数に入れます

本当に1つのページを保持したい場合は、各ページに固有のコードをそれらのページの関数に入れ、ファイルのメイン部分のコードにに基づいて適切な関数を呼び出しますlocation.pathname

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PDFドキュメントのページごとに1つのPNGファイルを使用して、複数ページのPDFファイルをPNGファイルに変換するにはどうすればよいですか?

分類Dev

1つのメインルートを使用して複数のHTMLページを作成するにはどうすればよいですか?

分類Dev

CMake:複数のソースファイルから1つのオブジェクトを作成するにはどうすればよいですか?

分類Dev

Webpack:複数のJavaScriptファイルを1つの出力ファイルにバンドルするにはどうすればよいですか?

分類Dev

同じ形式の複数のファイルを1つのファイルにマージするにはどうすればよいですか?

分類Dev

1つのhtaccessファイルで複数のドメインをサポートするにはどうすればよいですか?

分類Dev

複数のtfrecordsファイルを1つのファイルにマージするにはどうすればよいですか?

分類Dev

複数のページを表示するために単一のhtmlファイルを作成するにはどうすればよいですか?

分類Dev

rubyで複数ページのpdfファイルを複数のpdfファイルに分割するにはどうすればよいですか

分類Dev

1つのsetup.pyから複数のホイールファイルを作成するにはどうすればよいですか?

分類Dev

1つのファイルに複数のソフトリンクを作成するにはどうすればよいですか?

分類Dev

同じドメインの複数のiframeを1つのHTMLページに表示するにはどうすればよいですか?

分類Dev

関数のみを持つ1つの.pyファイルでSphinxドキュメントを作成するにはどうすればよいですか?

分類Dev

アイテムごとに複数のページから1つのCSVファイルにスクレイピングするときに、Scrapy Pause / Resumeを実装するにはどうすればよいですか?

分類Dev

1つのテキストファイルで複数のイベントのループを使用するにはどうすればよいですか?

分類Dev

複数の.txtファイルを1つのExcelシートにコンパイルするにはどうすればよいですか?

分類Dev

ループで複数のファイルを作成するにはどうすればよいですか?

分類Dev

複数のjpgファイルを1つのPDFに完全にマージするにはどうすればよいですか?

分類Dev

Office 365 Wordで、複数のWordファイルを1つに順番にマージするにはどうすればよいですか?

分類Dev

1つのファイルを複数のファイル名にコピーするにはどうすればよいですか?

分類Dev

1つのオーディオファイルを複数のファイルに分割するにはどうすればよいですか?

分類Dev

1つのファイルを複数のファイル名にコピーするにはどうすればよいですか?

分類Dev

LiferayとJavaScriptを使用して複数のファイルのダウンロードボタンを作成するにはどうすればよいですか?

分類Dev

複数のhtmlファイルを1つにリンクするにはどうすればよいですか( `script`要素で行うように)

分類Dev

1つのsystemdファイルで複数のカーボンサービスを実行するにはどうすればよいですか?

分類Dev

1つのHiveテーブルが複数の外部ファイルを指すようにするにはどうすればよいですか?

分類Dev

1つのフォルダから複数のフォルダにファイルをコピーするにはどうすればよいですか

分類Dev

1つのコマンドでscpを介して複数のファイルをコピーするにはどうすればよいですか?

分類Dev

1つのページに複数のURLエイリアスを作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    PDFドキュメントのページごとに1つのPNGファイルを使用して、複数ページのPDFファイルをPNGファイルに変換するにはどうすればよいですか?

  2. 2

    1つのメインルートを使用して複数のHTMLページを作成するにはどうすればよいですか?

  3. 3

    CMake:複数のソースファイルから1つのオブジェクトを作成するにはどうすればよいですか?

  4. 4

    Webpack:複数のJavaScriptファイルを1つの出力ファイルにバンドルするにはどうすればよいですか?

  5. 5

    同じ形式の複数のファイルを1つのファイルにマージするにはどうすればよいですか?

  6. 6

    1つのhtaccessファイルで複数のドメインをサポートするにはどうすればよいですか?

  7. 7

    複数のtfrecordsファイルを1つのファイルにマージするにはどうすればよいですか?

  8. 8

    複数のページを表示するために単一のhtmlファイルを作成するにはどうすればよいですか?

  9. 9

    rubyで複数ページのpdfファイルを複数のpdfファイルに分割するにはどうすればよいですか

  10. 10

    1つのsetup.pyから複数のホイールファイルを作成するにはどうすればよいですか?

  11. 11

    1つのファイルに複数のソフトリンクを作成するにはどうすればよいですか?

  12. 12

    同じドメインの複数のiframeを1つのHTMLページに表示するにはどうすればよいですか?

  13. 13

    関数のみを持つ1つの.pyファイルでSphinxドキュメントを作成するにはどうすればよいですか?

  14. 14

    アイテムごとに複数のページから1つのCSVファイルにスクレイピングするときに、Scrapy Pause / Resumeを実装するにはどうすればよいですか?

  15. 15

    1つのテキストファイルで複数のイベントのループを使用するにはどうすればよいですか?

  16. 16

    複数の.txtファイルを1つのExcelシートにコンパイルするにはどうすればよいですか?

  17. 17

    ループで複数のファイルを作成するにはどうすればよいですか?

  18. 18

    複数のjpgファイルを1つのPDFに完全にマージするにはどうすればよいですか?

  19. 19

    Office 365 Wordで、複数のWordファイルを1つに順番にマージするにはどうすればよいですか?

  20. 20

    1つのファイルを複数のファイル名にコピーするにはどうすればよいですか?

  21. 21

    1つのオーディオファイルを複数のファイルに分割するにはどうすればよいですか?

  22. 22

    1つのファイルを複数のファイル名にコピーするにはどうすればよいですか?

  23. 23

    LiferayとJavaScriptを使用して複数のファイルのダウンロードボタンを作成するにはどうすればよいですか?

  24. 24

    複数のhtmlファイルを1つにリンクするにはどうすればよいですか( `script`要素で行うように)

  25. 25

    1つのsystemdファイルで複数のカーボンサービスを実行するにはどうすればよいですか?

  26. 26

    1つのHiveテーブルが複数の外部ファイルを指すようにするにはどうすればよいですか?

  27. 27

    1つのフォルダから複数のフォルダにファイルをコピーするにはどうすればよいですか

  28. 28

    1つのコマンドでscpを介して複数のファイルをコピーするにはどうすればよいですか?

  29. 29

    1つのページに複数のURLエイリアスを作成するにはどうすればよいですか?

ホットタグ

アーカイブ