2016-05-17 41 views
13

React Native có sử dụng yêu cầu hoặc nhập không?Ứng dụng React Native có yêu cầu hoặc nhập không?

Tất cả những gì tôi có thể tìm thấy là một hướng dẫn cũ sử dụng require(), nhưng khi tôi chạy init có nguồn gốc phản ứng, tôi nhận được một dự án sử dụng nhập. Đây có phải là do những thay đổi gần đây trong React Native không?

Sự khác biệt chính là gì?

Trả lời

11

Có các hướng dẫn và ví dụ mới nhất về React Native sử dụng cú pháp mới import.

https://facebook.github.io/react-native/docs/tutorial.html

Về sự khác nhau giữa CommonJS (yêu cầu) và các module ES6 (nhập khẩu), có một số câu trả lời tốt ở đây:

Using Node.js require vs. ES6 import/export

Tôi nghĩ rằng hầu hết mọi người thích ES6 mới cú pháp. Tuy nhiên, không có công cụ JS nào thực hiện các mô-đun ES6 hiện tại, do đó, nó cần được chuyển đổi bằng trình chuyển đổi ES6 (ví dụ: Babel) thành câu hỏi require. React Native được thiết lập để thực hiện việc này, bạn chỉ có thể bắt đầu sử dụng import và nó chỉ hoạt động.

5

Sự khác biệt chính là, import là cú pháp ECMAScript 6 và require là ECMAScript 5. Cả hai đều có thể hoán đổi cho nhau, nhưng nhập có cú pháp tốt để đổi tên: export { MY_CONST as THE_CONST, myFunc as theFunc };.

1

React Native giờ sử dụng Babel để biên dịch "mô-đun" (doc). Nếu giàn giáo một ứng dụng với create-react-native-app, trong thư mục node_modules, có the Babel plugin tên

babel-plugin-transform-es2015-modules-commonjs 

, được tham chiếu qua ứng dụng.

Như tên của nó, plugin này chỉ biến đổi cú pháp mô-đun ES2015 thành CommonJS.

Đối với những khác biệt chính, tôi thích this answer xuất hiện trong một bài đăng khác.

Các vấn đề liên quan