5

これから変更できるように、すべてのプラグインをマージしようとしています。

<html>
    <head>
    </head>
    <body>    
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
        <script src="js/plugin1.js"></script>
        <script src="js/plugin2.js"></script>
        <script src="js/plugin3.js"></script>
        <script src="js/plugin4.js"></script>
    </body>
</html>

これに:

<html>
    <head>
    </head>
    <body>    
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
        <script src="js/plugins.min.js"></script>
    </body>
</html>

主なアイデアは、自分のウェブサイトに必要なすべてのプラグインを plugins.js ファイルに「自動インポート」し、コンパイル時にそれらを縮小するツールを用意することです。私は Google Closure (コンパイラのダウンロード可能な Java バージョン) でテストしており、ファイルを縮小する方法を考え出しましたが、外部ファイルをインポートできません。そこで、私が探しているツールが Google Closure なのか、それとも別のツールや方法を使用すべきなのか教えていただけないでしょうか。

「自動インポート」とは、次のような意味です。

プラグイン/HELLO.JS

function hello(name) {
    alert('Hello, ' + name);
}

PLUGINS.JS

@import hello.js
hello('New user');

私の英語を台無しにしてしまったら申し訳ありません。

ありがとう!!

4

4 に答える 4

5

私は自分自身に同じ質問をしましたが、受け入れられる答えが見つかりませんでした。多くのファイルを結合する唯一の方法は、複数の「--js」パラメータをコマンドラインに入れることです:

java -jar compiler.jar --js 1.js --js 2.js --js 3.js --js_output_file all.js

私はこのような行を入れてみました(これはClosure CompilerサービスUIで使用されています):

// ==ClosureCompiler==
// @code_url 1.js
// @code_url 2.js
// @code_url 3.js
// ==/ClosureCompiler==

...「main.js」でコンパイルしてコンパイルします-効果はありません。:(

于 2013-04-05T21:23:37.000 に答える
2

最適化の可能性がある RequireJs を使用します。ここを見てください:http://requirejs.org/docs/optimization.html

于 2013-03-31T10:06:45.343 に答える
1

goog.requireClosure-compiler はあなたが望むことを正確に行うことができますが、呼び出しを使用しているため、Closure-library コードでのみ実行できます。jQuery コードでは、すべてのプラグインを 1 つのファイルにまとめてコンパイルするのが最善ですが、実際の使用は考慮されません。

残念ながら、一般的なコードでこれを行うものは何も知りません。

注: これは、質問に対して受け入れられる回答であるとは想定されていません。質問は特に Closure-compiler について尋ねられたので、少なくともどこかで、コンパイラが期待どおりに動作しないと述べられていることを確認したかったのです。

于 2013-04-02T13:33:49.693 に答える
0

あなたはrequire.jsを見たいと思うかもしれません

于 2013-03-31T09:36:19.183 に答える