Ich entwickle mehrere Plugins zu einem System, das diese Plugins als AMD Module (mit requirejs) lädt. Plugins werden als ES6-Module geschrieben und mit dem Webpack gepackt (output.libraryTarget = 'amd'). Alles funktioniert wie erwartet.
Aber Plugins teilen ziemlich viel gemeinsamen Code, der in jedem Eintrag gebündelt ist. Ich habe versucht, CommonsChunkPlugin
webpack plugin zu verwenden, aber der erste Chunk enthält Code, der kein AMD-Modul ist. Andere Eingangspunkte, die auf einem gemeinsamen Chuck übertragen werden, werden jedoch weiterhin korrekt erzeugt. Auch die Dokumentation sagt, dass es keine gute Idee ist, mehrere anfängliche Chunks (mit JSONp Runtime) auf einer Seite - es gibt die Möglichkeit, dass ein anderer Plugin-Autor denselben Ansatz verwendet.
Gibt es eine Möglichkeit, diesen Anwendungsfall AMD-kompatibel zu optimieren?
Es scheint mir als ein Fehler in CommonsChunkPlugin
, dass der ursprüngliche Eintrag nicht AMD ist (aber immer noch ist es nicht sicher, den Code in Plugin env geladen zu werden) ... Gibt es eine Konfiguration, die ich vermisse?
Ich bin mir nicht sicher, ob Sie das richtig verstehen. Aber wenn Sie Ihr Bundle als AMD-Modul erstellen möchten, müssen Sie es als Bibliothek konfigurieren :
%Vor%