5

私はTypescriptとRequireJsで動作する完全なアプリケーションを持っています、それは完全に動作しています。WebEssentialsをダウンロードしましたが、縮小されたスクリプトファイルが生成されています。WebEssentialsは、元のスクリプトファイルと同じ名前の分離された*.min.jsファイルを生成します。

元のスクリプトファイルの代わりに縮小ファイルをロードするようにRequireJsに指示するにはどうすればよいですか?

前もって感謝します

4

3 に答える 3

9

path configを使用して、モジュールパスをオーバーライドできます。縮小されていないファイルにフォールバックすることもできます。

requirejs.config({
    enforceDefine: true,
    paths: {
        jquery: [
            'lib/jquery.min',
            'lib/jquery'
        ]
    }
});

私が知らない最小ファイルを使用するより一般的な方法があるかもしれません!

于 2013-01-14T22:29:59.277 に答える
9

単純にカスタマイズされたバージョンのrequireを作成できます。これは、通常は「.js」の追加を受け取るすべてのモジュールファイル要求に「.min.js」を条件付きで追加します。次のことを考慮してください。

    //Establish a new 'useMinified' boolean in your initial config.
    require.config({ useMinified: true });

次に、require.jsライブラリファイルを編集し、「nameToUrl」関数を次のように変更します。

    //Join the path parts together, then figure out if baseUrl is needed.
url = syms.join('/');

    //new statement
var extension = config.useMinified ? '.min.js' : '.js';

    //customized statement
url += (ext || (/^data\:|\?/.test(url) || skipExt ? '' : extension));

url = (url.charAt(0) === '/' || url.match(/^[\w\+\.\-]+:/) ? '' : config.baseUrl) + url;
于 2014-06-26T16:30:44.550 に答える
0

これには魔法はありません。ただし、いくつかのオプションがあります

  1. RequireJSオプティマイザーを使用して、最小ファイルを生成します。非常に構成可能。
  2. コンパイラオプションを使用して、--outすべてのファイルを1つに連結し、それを縮小します
  3. スクリプト/バッチファイルを作成してアプリを別の場所にコピーし、すべての.min.jsファイルの名前を.jsに変更して、最小化されていないファイルを上書きします。または他のミックスですが、要点はわかります
  4. スティーブが述べたようにパス設定を使用します。小さなアプリでは問題ありませんが、大きなアプリでは理想的とは言えません。

最高のパフォーマンスを得るには、オプティマイザーを調べて、単一スクリプトのアプローチが正しい決定であるか、複数の小さなライブラリーがより良いアプローチであるかを判断する必要があります。各.min.jsファイルをロードすることがあなたにとって理想的な解決策であるとは思えません。

于 2013-01-15T00:54:59.700 に答える