2016-02-12 15 views
8

これらのプラグインをAMDモジュール(requirejs付き)としてロードするシステムに、複数のプラグインを開発しています。プラグインはES6モジュールとして記述され、webpack(output.libraryTarget = 'amd')でパックされています。これまでのところすべてが期待どおりに機能します。webpackとCommonsChunkPluginでAMDモジュールを生成

しかし、プラグインはすべてのエントリにバンドルされている非常に多くの共通コードを共有しています。 CommonsChunkPlugin webpackプラグインを使用しようとしましたが、最初のチャンクにはAMDモジュールではないコードが含まれています。しかしながら、共通のチャック上で中継する他のエントリポイントは、依然として正しく生成される。またdocumentationは、1ページに複数の初期チャンク(JSONpランタイム付き)を持たないことをお勧めします。別のプラグイン作成者が同じアプローチを使用する可能性があります。

このユースケースをAMD互換の方法で最適化する方法はありますか? CommonsChunkPluginのバグとして、最初のエントリはAMDではない(しかし、そのコードはプラグインenvに読み込まれても安全ではない)...私は行方不明の設定がありますか?

+1

同じ問題がここに。何らかの理由でチャンクを持っていて、amdライブラリを生成しているとは、互換性がないと思われます。 –

答えて

1

あなたが正しく理解しているかどうかはわかりません。しかし、あなたはlibraryとしてそれをしなければならないconfigコンよりも、AMDモジュールとして、あなたのバンドルを構築したい場合:

... 
output: { 
    ... 
    library: true, 
    libraryTarget: 'umd' 
}, 
+0

したがって、エクスポート方法に従ってlibraryTargetパラメータを設定する必要がありました。http://webpack.github.io/docs/configuration.html#output-librarytarget – Kreozot

+0

正しく動作します。しかし、私は[CommonsChunkPlugin](https://webpack.github.io/docs/list-of-plugins.html#commonschunkplugin)を使いたいのですが、一般的なチャンクの出力はAMDではありません。 – ahz

+0

複数のエントリーポイントを使用してみませんか? – Kreozot

関連する問題