2016-02-12 19 views
8

Bu eklentileri AMD modülleri (requirejs ile) olarak yükleyen bir sisteme çoklu eklentiler geliştiriyorum. Eklentiler ES6 modülleri olarak yazılır ve web paketi ile paketlenir (output.libraryTarget = 'amd'). Her şey beklendiği gibi çalışıyor.Web paketi ve CommonsChunkPlugin ile AMD modülleri oluşturma

Ancak, eklentiler, her girdide toplanan çok fazla ortak kodu paylaşır. CommonsChunkPlugin webpack eklentisini kullanmayı denedim, ancak ilk yığın, AMD modülü olmayan bir kod içeriyor. Bununla birlikte, ortak ayna üzerinde geçiş yapan diğer giriş noktaları hala doğru şekilde üretilmektedir. Ayrıca, documentation, bir sayfada birden çok başlangıç ​​parçasının (JSONp çalışma zamanı ile) olması iyi bir fikir olmadığını söylüyor - başka bir eklenti yazarın aynı yaklaşımı kullanabileceği olasılığı var.

Bu kullanım durumunu AMD uyumlu şekilde optimize etmenin bir yolu var mı? CommonsChunkPlugin numaralı dosyada bir hata olarak göründüğümde, başlangıçtaki giriş AMD değil (hala kodunun eklenti olarak yüklenebilmesi güvenli değil) ... Eksik olduğum bir yapılandırma var mı?

+1

aynı sorunu burada. Herhangi bir sebepten ötürü parçalara sahip olmanın ve bir amd kütüphanesi üretmenin uyumsuz olduğunu düşünüyor. –

cevap

1

Doğru anladığınızdan emin değilim. Ama bir library olarak konfigürasyon dosyasında gerekir daha AMD modül olarak Paketinizi inşa etmek istiyorsanız:

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

Yani kütüphaneTarget parametresini dışa aktarma yönteminize göre yapılandırmanız gerekebilir: http://webpack.github.io/docs/configuration.html#output-librarytarget – Kreozot

+0

Doğru şekilde çalışıyor. Ama [CommonsChunkPlugin] kullanmak istiyorum (https://webpack.github.io/docs/list-of-plugins.html#commonschunkplugin) ve ortak parçaları çıktı AMD değil. – ahz

+0

Neden birden çok giriş noktası kullanmıyorsunuz? – Kreozot