2016-01-01 30 views
9

React Native projesine başladım ve kodum için ECMAScript 2015 kullanıyorum ve birim testlerim için mocha kullanmak istiyorum. Ben, babel-registerbabel-preset-es2015 yüklü ve babel-preset-stage-2 ve benim projenin package.json dosyasına bu ekledik:React Doğal nedenleri 'Beklenmedik belirteç' hatası mocha ile

"babel": { 
    "presets": ["es2015", "stage-2"] 
} 

Ama mocha --compilers js:babel-register çalıştırmak ve bir yerel API tepki ithal bir modül test etmek çalıştığınızda ...

node_modules/react-native/Libraries/react-native/react-native.js:107 
...require('React'), 
^^^ 

SyntaxError: Unexpected token ... 

bu babel mı:

import React from 'react-native'; 

let {Dimensions} = React; 

... Ben tepki tarafından kullanılan yayılma operatörü bir hata aldınız bug-stage-2 preset, spread operatörü için destek eklememeli mi? Yoksa başka bir şey mi özlüyorum?

+0

olduğunu. Neden burada kullanıyorsun? – void

+2

Yayma işlecini kullanmıyorum. React Native bunu kullanıyor ve modüllerimden birinde React Native'ı içe aktarıyorum. –

+0

Paket.json'a yerel olarak (https://github.com/facebook/react-native/blob/master/package.json) bakarsanız, 30 civarında babel ile ilgili paketi içe aktardığını göreceksiniz. Bunların hepsini eklemeden, muhtemelen eksik paketlerle bu tür hickup'ları deneyimlemeye devam edeceksiniz. –

cevap

2

Bunu da görmeye başladım. Bir böcek gibi görünüyor. AFAIK babel node_modules altındaki dosyaları derlemez çünkü her zaman önceden derlenmelidir.

Ayrıca, bu sadece burada yayılmış operatörünün kullanımını anlamıyorum oldukça yeni bir ek

https://github.com/facebook/react-native/commit/f9b744d50137de25357994fe2e829f98104e2242

+0

Aynı hatayı basit bir webpack betiğiyle derlemek ve küçük bir yazı dosyası yükleyin. Yükleyicim babel çağırmıyor: '{test: /\.tsx?$/, exclude:/node_modules /, loader: 'ts'}' Bu satırın başlattığı yükleyici 'ts-loader' – timecc

İlgili konular