2015-04-09 28 views
44

Projemi oluşturmak için web paketini kullanırken, genellikle npm modüllerinden CommonJS'de modüller gerekir. Projemde zaman-zaman dilimi ihtiyacım var, ancak paketin oluşturulmasında, zaman-zaman diliminin tüm verilerini oluşturmalısınız, ki bu oldukça fazla olabilir. Saat dilimini webpack ile nasıl kullanmalıyım?

Ayrıca yapı aşağıdaki hatayla başarısız oluyor:

ERROR in ./~/moment-timezone/data/packed/latest.json 
Module parse failed: /site/node_modules/moment-timezone/data/packed/latest.json Line 2: Unexpected token : 
You may need an appropriate loader to handle this file type. 
| { 
| "version": "2015a", 
| "zones": [ 
|  "Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q", 
@ ./~/moment-timezone/index.js 4:15-51 

Bu noktada aslında başarılı olursa yapı büyüklüğünde olduğum gibi ben, yapı başarısız çok fazla ilgilenmezler değilim. Yine de, açık bir şekilde başarısız olan yapının bir noktada da ele alınması gerekecektir.

Bu işlemin nasıl yapılacağına dair herhangi bir işaretçi için minnettar olurum, özellikle de herhangi biriniz web paketi (veya büyük olasılıkla tarayıcı) kullanarak aynı sorunla karşılaştıysanız.

cevap

76

JSON yükleyiciyi web paketi yapılandırmanıza ekleyerek bunu düzeltebilirsiniz.

Ve webpack.config.js adresindeki yükleyicilere ekleyin. Uzantıyı da eklemeyi unutmayın. Eğer (şu anda beta) webpack 2.x kullanıyorsanız

{ 
    module: { 
    loaders: [ 
     {include: /\.json$/, loaders: ["json-loader"]} 
    ] 
    }, 
    resolve: { 
    extensions: ['', '.json', '.jsx', '.js'] 
    } 
} 
+1

bu dahil ' çözülme kısmı. –

+0

da çözme kısmı olmadan çalıştı benim için –

+2

Bir "bu işe yaramıyor" derp an biraz vardı - çünkü benim kurulum webpack's dllPlugin bağımlılıkları önbelleğe kullandı çünkü çıktı ve ben yanlış dosyaya koyuyordu. Bunu webpack * dll * config dosyasına eklemek ve daha sonra "npm run build: dll" benim için hile yaptı. Birinin benzer bir anı olması durumunda bir başkan olarak. – DrShaffopolis

9

npm install json-loader 

sonra bu çıkardıktan sonra benim için çalıştı senin rules

{ 
    test: /\.json$/, 
    loader: "json-loader" 
} 
+0

Bu işe yaradı. Paketi Yarn ile ekledim ve kuralı webpack.config dosyasına ekledim. – Yuschick

İlgili konular