2012-06-28 4 views
8

可能性の重複:a.jsa1.js、およびa2.js
How to include js file in another js file?JavaScriptでソースファイルをインポート/インクルードする方法は?

は、私はいくつかのJavaScriptのソースファイルがあるとします。 a.jsの関数は、a1.jsa2.jsの関数を呼び出します。

すべてこれらのファイルをHTMLページに宣言する必要があります。私は、a.jsをHTMLに宣言し、ソースファイルに「インポート/インクルード」a1.jsa2.jsと宣言したいと思います。

意味がありますか? JavaScriptでこれを行うことはできますか?

+1

[require.js](http://requirejs.org/)のように、またはjsファイルを連結して(そして、同じ動きでそれらを縮小し、[closureコンパイラ](https://developers.google.com/クロージャ/コンパイラ/))。バニラのjavascriptでインポートを指定することはできません。 –

+0

@devsundarなぜあなたは重複としてクローズを求めませんでしたか? –

+0

@dystroyご提案ありがとうございます。当初、私は閉じるためのオプションを探していました。私は今、 "フラグ"オプションを使用してそれをしました。私にとっては直感的ではありませんでした。 – 18bytes

答えて

8

バニラジャバスクリプトにインポートを指定することはできません。

ので(重いサーバサイドのフレームワークを除く)あなたの解決策は以下のとおりです。

  • 単に輸入

  • があなたのjsファイルを連結(およびclosure compilerを使用してexempleため、同じ動きでそれらを縮小化します)

  • require.js

のようなモジュールのiToolを使用

あなたが経験していない限り、ファイル数が少ない(15未満)場合は、単に第1または第2の解決方法を選択することをお勧めします。モジュールローダーを使用すると、JavaScriptを学び始めたときにデバッグしたくない副作用が生じることがあります。

2

特定のツールを使用してJavaScript(およびCSS)ファイルをまとめてバンドルすることで、含めるファイル数を減らすことができます。これにより、ページの読み込みパフォーマンスも向上します。

これらのツールは、複数のJavaScriptファイルを1つのJavaScriptファイル(必要に応じてファイルを縮小する)にまとめ、複数のCSSファイルを1つのCSSファイルにまとめます。これにより、ブラウザからサーバーへのHTTP接続が少なくなるため、シリアルに取得されるものが少なくなります。

ASP.Net MVC 4が内蔵されています。このためのサポート:

http://theshravan.net/bundling-and-minification-support-in-asp-net-mvc-4/

を、このようなJuicerなど、他の環境のためのソリューションの数があります。

すべてのリソースをバンドルできない場合は(一部はCDNからのもので、他のものはローカルからのものです)、require.jsなどのロードマネージャを使用できます。

6

あなたはインポートできます

<script type="text/javascript"src="a1.js"></script> 
<script type="text/javascript"src="a2.js"></script> 
<script type="text/javascript"src="a3.js"></script> 

あなたはJSから直接それをしたい場合は、あなたがアヤックスを使用することができ、このポストはどのように説明します。このツールを使用する必要があることを行うには include-javascript-file-inside-javascript-file

+1

これはライブラリから特定のモジュールをインポートするのに役立ちません。 – shinzou

関連する問題