Các giải pháp được cung cấp trong các câu hỏi liên quan khác, chẳng hạn như bao gồm các giá trị đặt trước thích hợp (es2015) trong .babelrc, đã được triển khai trong dự án của tôi.
Tôi có hai dự án (hãy gọi chúng là A và B), cả hai đều sử dụng cú pháp mô-đun ES6. Trong Dự án A, tôi đang nhập Dự án B được cài đặt qua npm và nằm trong thư mục node_modules. Khi tôi chạy bộ thử nghiệm của mình cho Dự án A, tôi gặp lỗi:
SyntaxError: Nhập mã thông báo không mong muốn
Trước dòng mã bị cáo buộc có lỗi này từ Dự án B:
(function (export, request, module, __filename, __dirname) {import createBrowserHistory from 'history / lib / createBrowserHistory';
Iife dường như là thứ gì đó liên quan đến npm hoặc có thể liên quan đến babel vì tệp nguồn của tôi chỉ chứa "import createBrowserHistory từ 'history / lib / createBrowserHistory'; Đơn vị thử nghiệm trong bộ thử nghiệm của Dự án B chạy tốt và nếu tôi xóa Dự án B như một phần phụ thuộc từ Dự án A, bộ thử nghiệm của tôi sau đó (vẫn sử dụng nhập es6 cho các mô-đun dự án nội bộ) hoạt động tốt.
Theo dõi toàn bộ ngăn xếp:
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
Đây là lệnh thử nghiệm của tôi từ package.json:
"test": "mocha --compilers js:babel-core/register '+(test|src)/**/*Spec.js'"
Bài đăng trên StackOverflow này tương tự nhưng không đưa ra giải pháp cho việc sử dụng dòng lệnh của tôi: nhập mô-đun từ node_modules bằng babel nhưng không thành công