Hem node.js hem de tarayıcıyla kullanılabilecek bir kütüphanem var. CommonJS kullanıyorum ve web paketi kullanarak web sürümü için yayın yapıyorum. Benim kod şöyle görünür:Webpack/browserify ile paketlenirken kod yolunu nasıl hariç tutabilirim?
// For browsers use XHR adapter
if (typeof window !== 'undefined') {
// This adapter uses browser's XMLHttpRequest
require('./adapters/xhr');
}
// For node use HTTP adapter
else if (typeof process !== 'undefined') {
// This adapter uses node's `http`
require('./adapters/http');
}
Ben karşılaşmamdır Sorun WebPack çalıştırdığınızda oluşturulan çıktı bunun bağımlılık hepsi birlikte http
içermektedir (browserify aynı şeyi olurdu) olmasıdır. Bu, tarayıcı performansı için en uygun olmayan bir BÜYÜK dosya ile sonuçlanır.
Sorum şu: Bir modül paketi çalıştırırken düğüm kodu yolunu nasıl hariç tutabilirim? Bunu, webpack'in externals'ı kullanarak geçici olarak çözdüm ve './adapters/http'
'u dahil ettiğinde tanımsız olarak döndüm. Bu, diğer geliştiricilerin CommonJS kullanarak kütüphaneme bağlı olduğu kullanım durumunu çözmez. Benzer dışlama yapılandırması kullanmadıkça yapıları aynı sorunla sonuçlanır.
Envify kullanarak baktım, sadece başka bir/daha iyi bir çözüm olup olmadığını merak ediyorum.
Teşekkürler!