2017-03-17 6 views
0

私はビルドしているウェブページに3つの異なるスクリプトを持っており、すべて正常に動作します。同じIIFE、異なるjsファイル

しかし、私はIIFEの利点について学んだ後、すべてのスクリプトを1つのIIFEにまとめようとしていますが、動作しません。コンソールにエラーが表示されます: 'Uncaught SyntaxError:予期しない入力の終了' refeering script-1.js。

だから、私のようなものがあります:

<script type='text/javascript' src='...script-1.js'></script> 
<script type='text/javascript' src='..script-2.js'></script> 
<script type='text/javascript' src='script-3.js'></script> 

をそして私がやっていることです:スクリプト1.jsオン 私はこの

(function() { 

//....rest of javaScript code script-1 

、スクリプト-3のようなコードを開始しました.jsこのようなコードを終了しました:

//....rest of the code script-3 

})(); 

1)これは可能ですか?同じIIFE内の異なるjsファイルをラップするには?理論的にはそうだが、わからない。

2)可能であれば、間違っていますか?

私はあなたのほとんどのために、これは非常に基本的なようだということを知っているが、私はいくつかのフィードバックを感謝します:)

+2

いいえ、すべてのファイルを自分でラップする必要があります。 – Xufox

+0

@Xufoxありがとうございます! – viery365

答えて

8

個々のスクリプトは、独自の構文的に完了していなければならない、あなたはスクリプトにまたがる単一生命維持を持つことはできません。

代わりに、RequireJS、Webpack、Browseriftyなどのスクリプト・バンドル/モジュール・システムを見てください。個々のスクリプト間の依存関係を表現しながらグローバル化を防ぎ、それらをデプロイメント用の単一スクリプトにバンドルするのに役立ちます希望)。

+0

私はこれを受け入れます。ちょっと待たなければならない。ありがとうございました:) – viery365

関連する問題