Tôi đang bắt đầu dự án React Native và tôi muốn sử dụng ECMAScript 2015 cho mã của mình và mocha cho các bài kiểm tra đơn vị của mình. Tôi đã cài đặt babel-register
, babel-preset-es2015
, và babel-preset-stage-2
, và bổ sung này để package.json
hồ sơ của dự án của tôi:Nhà điều hành truyền thông trong React Native gây ra lỗi 'Mã thông báo không mong muốn' với mocha
"babel": {
"presets": ["es2015", "stage-2"]
}
Nhưng khi tôi chạy mocha --compilers js:babel-register
và cố gắng thử nghiệm một mô-đun nhập khẩu một API Native Phản ứng ...
import React from 'react-native';
let {Dimensions} = React;
... tôi nhận được một lỗi về hành lây lan được sử dụng bởi Phản ứng:
node_modules/react-native/Libraries/react-native/react-native.js:107
...require('React'),
^^^
SyntaxError: Unexpected token ...
đây có phải là một babel lỗi — không nên cài đặt trước stage-2 thêm hỗ trợ cho toán tử spread? Hay tôi còn thiếu cái gì khác?
Tôi chỉ không hiểu việc bạn sử dụng toán tử lan truyền ở đây. Tại sao bạn sử dụng nó ở đây? – void
Tôi không sử dụng toán tử spread. React Native đang sử dụng nó và tôi đang nhập React Native vào một trong các mô-đun của mình. –
Nếu bạn nhìn vào package.json trong phản ứng bản địa (https://github.com/facebook/react-native/blob/master/package.json), bạn sẽ thấy rằng nó nhập khẩu khoảng 30 gói liên quan đến babel. Mà không cần thêm tất cả chúng, bạn có thể sẽ tiếp tục trải nghiệm các loại hickups với các gói bị thiếu. –