2016-05-17 64 views
13

React Native使用是否需要或导入?React Native使用是否需要或导入?

所有我能找到的是一个使用require()的旧教程,但是当我运行react-native init时,我得到一个使用导入的项目。这是由于React Native最近的变化吗?

主要区别是什么?

回答

11

是的,最新的React Native教程和示例使用新的import语法。

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

在CommonJS的之间和ES6模块(进口)的差异(要求),这里也有一些很好的答案方面:

Using Node.js require vs. ES6 import/export

我想大多数人都喜欢新ES6句法。然而,目前没有JS引擎实现ES6模块,所以它需要由ES6转换器(例如Babel)转换为require语句。 React Native设置为开箱即用,因此您可以开始使用import,它应该可以正常工作。

5

主要区别在于,import是ECMAScript 6语法,require是ECMAScript 5.两者都可以互换,但导入具有很好的重命名语法:export { MY_CONST as THE_CONST, myFunc as theFunc };

1

React Native现在使用Babel进行“模块”编译(doc)。如果脚手架的应用与create-react-native-app,在文件夹node_modules,有the Babel plugin命名

babel-plugin-transform-es2015-modules-commonjs 

,后者是在应用程序中引用。

顾名思义,该插件只是将ES2015模块语法转换为CommonJS。

对于主要区别,我喜欢this answer出现在另一篇文章。

相关问题