.Babelrc içindeki uygun ön ayarları (es2015) dahil etmek gibi diğer ilgili sorularda sunulan çözümler zaten projemde uygulanmıştır.
Her ikisi de ES6 modül sözdizimi kullanan iki projem var (bunları A ve B diyelim). Proje A'da, npm aracılığıyla kurulan ve node_modules klasöründe yaşayan Proje B'yi içe aktarıyorum. Proje A için test paketimi çalıştırdığımda şu hatayı alıyorum:
SyntaxError: Beklenmeyen belirteç içe aktarma
Bundan önce Proje B'deki bu sözde hatalı kod satırı gelir:
(işlev (dışa aktarım, gerekli, modül, __filename, __dirname) {createBrowserHistory dosyasını 'history / lib / createBrowserHistory'den içe aktarın;
Kaynak dosyam yalnızca "içe aktarma createBrowserHistory 'geçmiş / lib / createBrowserHistory'den' içerdiği için iife, npm veya muhtemelen babel ile ilgili bir şey gibi görünüyor; Proje B'nin test paketindeki birim testleri sorunsuz çalışıyor ve Project B'yi bağımlılık olarak kaldırırsam Proje A, benim test paketim (hala dahili proje modülleri için es6 içe aktarımı kullanıyor) gayet iyi çalışıyor.
Tam Yığın İzleme:
SyntaxError: Unexpected token import
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Module._extensions..js (module.js:405:10)
at Object.require.extensions.(anonymous function) [as .js] (/ProjectA/node_modules/babel-register/lib/node.js:138:7)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (actionCreators.js:4:17)
at Module._compile (module.js:398:26)
at loader (/ProjectA/node_modules/babel-register/lib/node.js:130:5)
at Object.require.extensions.(anonymous function) [as .js] (/ProjectA/node_modules/babel-register/lib/node.js:140:7)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/ProjectA/src/components/core/wrapper/wrapper.js:28:23)
at Module._compile (module.js:398:26)
at loader (/ProjectA/node_modules/babel-register/lib/node.js:130:5)
at Object.require.extensions.(anonymous function) [as .js] (/ProjectA/node_modules/babel-register/lib/node.js:140:7)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/ProjectA/src/components/core/wrapper/wrapperSpec.js:15:16)
at Module._compile (module.js:398:26)
at loader (/ProjectA/node_modules/babel-register/lib/node.js:130:5)
at Object.require.extensions.(anonymous function) [as .js] (/ProjectA/node_modules/babel-register/lib/node.js:140:7)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at /ProjectA/node_modules/mocha/lib/mocha.js:219:27
at Array.forEach (native)
at Mocha.loadFiles (/ProjectA/node_modules/mocha/lib/mocha.js:216:14)
at Mocha.run (/ProjectA/node_modules/mocha/lib/mocha.js:468:10)
at Object.<anonymous> (/ProjectA/node_modules/mocha/bin/_mocha:403:18)
at Module._compile (module.js:398:26)
at Object.Module._extensions..js (module.js:405:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:430:10)
at startup (node.js:141:18)
at node.js:980:3
Package.json'daki test komutum:
"test": "mocha --compilers js:babel-core/register '+(test|src)/**/*Spec.js'"
Bu StackOverflow gönderisi benzer, ancak komut satırı kullanımım için bir çözüm sunmuyor: babel ile node_modules'ten bir modülü içe aktarın ancak başarısız oldu