2015-12-18 14 views
7

Hiçbir biçimlendirici veya ayrıştırıcı sağlanmadı React/Webpack/Globalize uygulamasında çalışıyorum. Geliştirme modunda işler iyi-ish (Globalize seçtiğim yerine tüm yerelleri derlemekte ısrar ediyor, ancak bu başka bir gün için başka bir soru). Benim webpack config production: true ayarlıyorum zaman Küreselleşen webpack eklentisi precompilation işlemek anlamına gelir izlenim oldu npm run buildWebpack Globalize, üretim moduna ayarlandığında yapılamıyor:

> webpack --config webpack.prod.config.js 

/opt/app/ui/node_modules/globalize-webpack-plugin/GlobalizeCompilerHelper.js:72 
     throw e; 
      ^
Error: No formatters or parsers has been provided 

çalıştırırken
Ancak, aşağıdaki hatayı alıyorum. Bu hatayı neden gördüğüm hakkında bir fikrin var mı? production: false öğelerini ayarlarken iyi şeyler derler.

Benim eklenti kurgusunda:

[461] ./~/cldr-data/main/es-PY/dateFields.json 15 kB {0} [optional] 
[462] ./~/cldr-data/main/es-SV/dateFields.json 15 kB {0} [optional] 
[463] ./~/cldr-data/main/es-US/dateFields.json 15 kB {0} [optional] 
[464] ./~/cldr-data/main/es-UY/dateFields.json 15 kB {0} [optional] 
[465] ./~/cldr-data/main/es-VE/dateFields.json 15 kB {0} [optional] 
[466] ./~/cldr-data/main/es/dateFields.json 15 kB {0} [optional] 
:
new GlobalizePlugin({ 
      production: true, 
      developmentLocale: "en", 
      supportedLocales: [ "en"], 
      output: "i18n/[locale].[hash].js" 
     }), 

bir dosya değişiklikleri ve webpack dev sunucusu yeniden oluşturur

, ben kullanmıyorum yerel ayarlar recomplication belirten bu mesajların bir LOT alıyorum

Denediğim hiçbir şey bu problemi aşmış görünüyor.
Teşekkürler

+0

Lütfen, eğer sana örn tarafından (karşı karşıya sorunu yeniden için kullanabileceğiniz bir azaltılmış örnekle bir bağlantı sağlayabilir http://gist.github.com kullanarak? –

+0

Maalesef, şimdilik bunu çözdüğümden daha fazla zaman ayıracağım (aşağıda cevabım konusuna bakın). Çoğaltmanın hızlı yolu basitçe GlobalizePlugin konfigürasyonunu mesaj anahtarı olmaksızın webpack'in konfigürasyon dosyasına eklemek ve üretimi doğru olarak ayarlamaktır. Sonra 'npm run build' bu hata ile başarısız olmalıdır. – Harel

+1

Bir geçici çözüm bulduğunuz için mutluyum, ancak doğru değil. 'Mesajlar 'tuşu isteğe bağlıdır (aşağıdaki cevabınızdan farklı olarak). Siz veya başka biri bunu araştırmakla ilgiliyse, bana bildirin. Başarısızlığı yeniden üretemiyorum, maalesef sizin için hiçbir şey öneremiyorum. Teşekkürler –

cevap

2

Bu durumda, messages anahtarı 'isteğe bağlı' değil, aslında gereklidir. Daha fazla, bir yerde (daha iyi bir kelime eksikliği için) 'prime' için gereken mesaj biçimlendirici Globalize.formatMessage("somekey") (nerede somekey lang dosyasında var) çağırarak. Tüm bu productiontrue olarak ayarlandığında gereklidir.

Ayrıca, üretimi true olarak ayarlarsanız, output yolu, kaynak ağacınızdaki varolan bir yolla eşleşmelidir. Örneğin kodunuz /assets'a girerse, çıkış yolu assets/i18n/[locale].[hash].js olmalıdır. Aksi takdirde, i18n dizini oluşturulmayacak.

Bütün bunlar

github repo bir tartışma türetilmiştir:

https://github.com/rxaviers/globalize-webpack-plugin/issues/10