2010-11-25 2 views
1

私はオブジェクトを関数として定義していますが、その中に多くのメソッドとプロパティがあります。これをモジュール化して管理しやすくする方法は何ですか?オブジェクト内の関数を外部ファイルに入れることは可能ですか?JavaScriptをモジュール化した大きなオブジェクト

編集:1つの回答で述べた

誰かが他のファイルをインクルードするが、これはunweildy HTMLページを持つことになり、IE:

<script type="text/javascript" src="script1.js"></script> 
<script type="text/javascript" src="script2.js"></script> 
<script type="text/javascript" src="script3.js"></script> 
.... 
<script type="text/javascript" src="script76.js"></script> 

もそれほどコードのみを構造化するいずれかの方法がありますリファレンスは、javascriptファイルが必要ですか?

+0

あなたは、一般的に持っているようにしてくださいあなたがメインのHTMLページにしたいファイルを含めますできるだけ多くの外部スクリプトが必要です。 –

+0

現在のコードで「管理の問題」とは正確には何か? –

+0

私はその中にたくさんのメソッドを持つオブジェクトを持っています。私は、機能を別々のファイルに分割してグループ化し、1つの巨大なファイルよりも管理が簡単です。 –

答えて

3
var myobj = { 
    somefunc: function() { /* function code */ }, 
    prop: "some string", 
    // etc. 
}; 

、別のjsファイルには、あなたがRequireJSをチェックアウトすることができます上記のコード

myobj.anotherfunc = function() { /* function code */ }; 
+0

ありがとう、+1、これはベースHTMLページに多くのスクリプト参照を含める必要がありますか?とにかくその問題を避けるためにデータを設計するのですか?理想的には、1つのファイルだけを含むのが良いでしょう。 –

+0

@Tomいいえ、私はそれがどのように関連するのか分かりません。 –

+0

.jsファイルから別のjsファイルをどのように組み込みますか? –

1

後に含まれています。関数、モジュール、依存関係を定義し、Javascriptから外部Javascriptファイル(おそらく非同期)を読み込むことができます。

0

jsminを使用すると、サーバー側のスクリプトを使用してJavaScriptを処理できます(キャッシュされている場合)。

私はこのようなスクリプト気にいらないと思っている: scripts.php

<?php 

$files = array('script1.js', 'script2.js'); 
$output = ''; 

foreach($files as $file){ 
    $output .= file_get_contents($file); 
} 

header("Content-type: application/x-javascript"); 
echo $output; 

?> 

your html 
<script type="text/javascript" src="/script.php"></script> 

あなたはまた、ちょうどすべてがちょうど、私が考えるフォルダスキャンか何かを介した配列を生成、フォルダ内のファイルをJS含めることができますあなたはアイデアを得る!

挨拶Nexum

関連する問題