โซลูชันที่นำเสนอในคำถามอื่น ๆ ที่เกี่ยวข้องเช่นการรวมค่าพรีเซ็ตที่เหมาะสม (es2015) ใน. babelrc ถูกนำไปใช้ในโครงการของฉันแล้ว
ฉันมีสองโครงการ (ให้เรียกพวกเขาว่า A และ B) ซึ่งทั้งคู่ใช้ไวยากรณ์โมดูล ES6 ในโครงการ A ฉันกำลังนำเข้าโครงการ B ซึ่งติดตั้งผ่าน npm และอยู่ในโฟลเดอร์ node_modules เมื่อฉันเรียกใช้ชุดทดสอบสำหรับโครงการ A ฉันได้รับข้อผิดพลาด:
SyntaxError: การนำเข้าโทเค็นที่ไม่คาดคิด
ซึ่งนำหน้าด้วยบรรทัดรหัสที่ผิดพลาดจากโครงการ B:
(ฟังก์ชัน (ส่งออกต้องการโมดูล __filename __dirname) {นำเข้า createBrowserHistory จาก 'history / lib / createBrowserHistory';
iife ดูเหมือนจะเป็นสิ่งที่ npm หรืออาจเกี่ยวข้องกับ babel เนื่องจากไฟล์ต้นฉบับของฉันมีเพียง "import createBrowserHistory จาก" history / lib / createBrowserHistory "การทดสอบหน่วยในชุดทดสอบของ Project B ทำงานได้ดีและถ้าฉันลบ Project B เป็นการอ้างอิงจาก โครงการ A ชุดทดสอบของฉัน (ยังคงใช้การนำเข้า es6 สำหรับโมดูลโครงการภายใน) ทำงานได้ดี
ติดตามกองเต็ม:
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:
"test": "mocha --compilers js:babel-core/register '+(test|src)/**/*Spec.js'"
โพสต์ StackOverflow นี้คล้ายกัน แต่ไม่มีวิธีแก้ปัญหาสำหรับการใช้บรรทัดคำสั่งของฉัน: นำเข้าโมดูลจาก node_modules ด้วย babel แต่ล้มเหลว