1

RequireJS で使用できる AMD スタイルで記述されたライブラリがあります。jqueryライブラリの利用者が提供するものとjquery-uiみなされます。次のように表示されます。

// main-lib.js
define(['jquery', './aux-lib.js'], function ($) { ..(1).. });

// aux-lib.js
define(['jquery', 'jquery-ui'], function ($) { ..(2).. });

私はwebpackがどのように機能するかを理解しようとしています。たとえば、これらのファイルを 1 つの AMD スタイル ライブラリ ファイルにバンドルしたいとしjqueryますjquery-ui

// out.js
define(['jquery', 'jquery-ui'], function ($) { ..(1)..(2).. } );

これはどのように達成されますか?

main-lib.jsas -point を指定して webpack を実行すると、entry見つからないというエラーが表示されます。で正しいパスを構成すると、 と にバンドルされますが、これは私が望むものではありません。使ってみましたが駄目でした。jqueryjquery-uiresolve.aliasjqueryjquery-uiout.jsoutput.externals

4

1 に答える 1

1

これは私の側の非常に単純で愚かな間違いでした。関連するフィールドは ではなくoutput.externals、単にexternalsです。ここを参照してください。そこで導入された他の 2 つの関連フィールドは 内outputにありますが、そうでexternalsはありません。

PS:externals配列にすることもできます。これが私の現在の構成です:

{
    entry: './main-lib.js',
    output: {
        path: './',
        filename: 'out.js',
        libraryTarget: 'amd'
    },
    externals: ['jquery', 'jquery-ui']
}

それはかなりうまく機能しています。

于 2014-09-02T22:02:23.890 に答える