7

私はこのようにオプティマイザを実行します

sudo /usr/local/bin/node /tmp/r.j/r.js -o name=main out=test.js baseUrl=. 

テスト用
さて、ファイル名をコンテンツのハッシュとして出力するようにオプティマイザーに指示するにはどうすればよいですか (明らかに最大有効期限を設定するため)、関連する require 呼び出しで依存関係の名前を変更しますか?

例の状況は次のようなものになります

require({
        baseUrl: '{{ STATIC_URL }}js',
        paths: {
            jquery: 'https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min',
            jqueryui: 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min'
        }
    }, ['order!jquery','order!jqueryui','order!main']);  

requirejs は 13KUJAW78M.js のようなものをプルする必要があります

Miller Medeiros の提案に基づいて、すべての必要な呼び出しを 1 つのマスター ファイルに入れることを計画しています。これは、そのようなすべての呼び出しも最適化する必要があることを意味します。

例えば

switch(document.location.pathName){
        case '/foo':
            require(['sections/foo/main']);
            break;
        case '/foo/bar':
            require(['sections/foo/main', 'core/bar']);
            break;
        default:
            require('sections/home');
    }

require(['sections/foo/main']);

ハッシュファイルに最適化する必要があります。

誰か助けてくれませんか?

4

1 に答える 1

4

RequireJS オプティマイザーにはこのオプションがありませんが、ファイルの名前を変更し、パス構成を使用して、名前を変更したファイルにエイリアスを設定できます。詳細については、このスレッドを参照してください。

たとえば、ファイルの名前を「sections/foo/main.123QWERT.js」、「sections/home.4567ASDFG.js」、「core/bar.0284ZXCV.js」に変更すると、パスを追加できます次のような構成:

require.config({
  paths : {
    //alias to new files without JS extension
    'core/bar': 'core/bar.0284ZXCV',
    'sections/home' : 'sections/home.4567ASDFG',
    'sections/foo/main' : 'sections/foo/main.123QWERT'
  }
});

パス構成は、キャッシュされないファイルにある必要があります。おそらく、構成を HTML に保持するだけです。

于 2011-09-05T13:23:59.613 に答える