Aynı webpack JS paketini birden çok farklı ortama dağıttığım bir projem var. Bazı ortamlar, JS dosyaları gibi statik varlıklara hizmet vermek için bir CDN kullanır ve bazıları da projenin geri kalanıyla aynı kökten sunulan statik varlıklara sahip değildir ve yoktur.`publicPath`, webpack ile tarayıcıda dinamik olarak yapılandırılabilir mi?
Bu projede, birden çok eşzamansız webpack parçası vardır ve bu nedenle doğru bir şekilde yüklenmeleri için bir publicPath
tanımladım.
CD4 olmayan bir bilgisayara konuşlandırırken, webpack, /static/
gibi bir şeyden herşeyi sunarak webpack yapılandırmamda statik olarak yapılandırılmış bir publicPath
ile iyi çalışır.
Ancak bir CDN kullanan ortamlara dağıtma yaparken, bu artık uyumsuz yığınlar için işe yaramaz, çünkü web paketi bunlara /static/
'dan erişmeye çalışacaktır, bu da ana uygulama sunucusuna değil, CDN'ye sordukları anlamına gelir.
Açıkçası bu sorunu çözmek için projemi CDN'imle publicPath
içinde yeniden yapılandırabilirim. Bununla birlikte, her iki durumda da sadece bir dağıtım paketi kullanabilmeyi tercih ederim.
Sunucu tarafı uygulamam, window.staticCDNRoot
satırları boyunca CDN kök yolunu ayrıntılandıran bir javascript global sağlar. Ve bu global aynı zamanda CDn olmayan durumlarda da mevcut, sadece uygulama sunucusuna geri dönüyor - bu yüzden her zaman statik varlıkların yükleneceği doğru yere gider.
Webpack'i çalışma zamanında kullanabilmem için herhangi bir yol var mı, bu nedenle publicPath
büyük bir korsanlık olmadan window.staticCDNRoot + publicPath
olur?
Veya bu sorun için daha iyi bir çözüm var mı?
Merhaba @Mike_Driver size öbek dosya komut kaynağının önünde CDN sunucu yolunu oluşturmak başardık? __webpack_public_path__ çalıştım ama şanssız. Buradaki soruma bakın [link] (http://stackoverflow.com/questions/41467564/webpack-chunk-files-on-cdn-server/41467705?noredirect=1#comment70142227_41467705) – doorman