1

私は現在、ある種のスクリプト依存ローダーを必要とする大規模な Web アプリを構築しています。私は RequireJS を使い始めましたが、正しい依存順序でロードされる 1 つの大きな JS ファイルにコードを最適化するのに非常に優れていることがわかりました。

ただし、プラグインがあります。これらのプラグインは、Web アプリがフォルダーにあるプラグインを認識していないため、どこにも必要ありません。私が望むのは、 grunt-contrib-requirejs プロセスに対して次のことです。

1 - すべてのコア ファイルを取得し、依存関係に基づいて 1 つのファイルにロードします。

2 - 次に、プラグイン フォルダーの 2 つのセットを実行し、依存関係に基づいて順番にロードするようにします。

3 - 次に、これらの連結されたファイルを最初のファイルに入れて、1 つの JS ファイルを作成します。

各 Less/CSS/Handlebars ファイルを検索して整理する Less and Handlebars プロセスがありますが、RequireJS にそのようなものがあるかどうか疑問に思っていましたか?

以下は、RequireJS の面倒なプロセスです。

requirejs: {
  compile: {
    options: {
      name: "core/js/app",
      baseUrl: "src",
      mainConfigFile: "./config.js",
      out: "./build/adapt/js/adapt.min.js"
    }
  }
}

ここに私のconfig.jsファイルがあります:

'use strict';

require.config({
deps: ['core/js/app'],
paths: {
    jquery: 'core/js/libraries/jquery.v2',
    underscore: 'core/js/libraries/underscore',
    backbone: 'core/js/libraries/backbone',
    modernizr: 'core/js/libraries/modernizr',
    handlebars: 'core/js/libraries/handlebars',
    imageReady: 'core/js/libraries/imageReady',
    inview: 'core/js/libraries/inview',
    scrollTo: 'core/js/libraries/scrollTo',
    coreJS: 'core/js',
    components: 'components'
},
shim: {
    jquery: [],
    backbone: {
        deps: ['core/js/libraries/underscore', 'core/js/libraries/jquery.v2'],
        exports: 'Backbone'
    },
    underscore: {
        exports: '_'
    },
    handlebars: {
        exports: 'Handlebars'
    }
}
});

私は RequireJS にかなり慣れていないことを告白します。そのため、解決策への指針についてアドバイスを得ることができれば幸いです。しかし、上で述べたように、JSON リストを経由するのではなく、メイン コアが正しい順序で最適化された後にフォルダーを検索するビルド プロセスが必要です。

ありがとう

4

1 に答える 1