2015-05-19 18 views
33

Web paketiyle birlikte verilen bir izomorfik React uygulamasına sahibim.Webpack, UglifyJS eklentisi ile en iyi duruma getirme nedenleri Çalışma zamanı hatası

2 paket dosya çıktılarına karşılık gelen 2 giriş noktam var: vendors.js ve app.js.

webpack-dev-server'u çalıştırırken veya herhangi bir optimizasyon bayrağı olmadan derlerken, her şey iyi çalışıyor. Ancak, Uglify eklentisini kullanmaya çalıştığımda, derlenmiş çıktı hatalar içeriyor.

denedim:

webpack -p
webpack -optimize-minimize

veya config

:

new webpack.optimize.UglifyJsPlugin({sourceMap:false})

Ancak aynı çalışma zamanı hatası (tanımsız değişkenler) tüm sonucu.

Buna neden olabilecek bir şey var mı? Uglify aşırı kıskanıyor ve olmaması gereken bir şey mi alıyor?

+0

hey, bana 'webpack -p' ile' UglifyJsPlugin' eklentisini kullanma arasındaki farkı açıklayabilir misiniz? – Matthew

cevap

67

Sorun, Uglify mangler'in neden oldu.

new webpack.optimize.UglifyJsPlugin({ 
    sourceMap: false, 
    mangle: false 
}) 

Bu yapılandırma dosyasına Webpack Plugin olarak eklenmelidir, örneğin: Değişken yeniden adlandırma soruna neden hangi bilmeden, çözüm tamamen bozma kapatmak oldu olanlar için

var config = { 

    //... various config settings 

    plugins: [ 
    new webpack.optimize.UglifyJsPlugin({ 
     sourceMap: false, 
     mangle: false 
    }) 
    ] 
}; 
+5

Ben cevabımı yükseltiyorum ama bunu kullandığınız web paketi JSON yapılandırma dosyasının bir parçası olarak görebilseydik daha hoş olurdu. Çalışmak için bunu kendi dosyamda nereye yerleştireceğime emin değildim. –

+5

Teşekkür ederim, eklenti bir yapılandırma dosyasına ekleyerek bir örnek ekledim. – duncanhall

+0

Benim için webpack'in tanımlanmadığını söylüyor. Eğer 'var webpack' ('webpack') gerektirirse, webpack konfigürasyonunda "Modül 'webpack' bulamıyor" yazıyor. Bir şey yüklemem gerekir mi? –

0

kim Devre dışı bırakılmış mangle ve hala sorun var, -p parametresi ile inşa olup olmadığını kontrol edin. Görünüşe göre -p çıkışı da karıştırmak, ve benim durumumda, UflifyJsPlugin mangle'i false değerine çevirmek zorunda kaldım ve -p bayrağı olmadan çalışmak zorunda kaldım (50'lerin js ağırlığındaki bir artış pahasına) %)

İlgili konular