我最近开始反应原生和跟随指导教程有
2选项一是通过“create-react-native-app myproject”创建项目,另一个是“react-native init myproject”.
2选项一是通过“create-react-native-app myproject”创建项目,另一个是“react-native init myproject”.
第一个(create-react-native-app)只生成app.js而另一个生成index.android.js和index.ios.js ..
我知道他们在做同样的工作,但这里真正的不同之处是什么?我应该选择哪一个开始,哪一个更有用?
create-react-native-app(“CRNA”)CLI构建了一个基于
Expo的项目模板,这是一个第三方工具包,允许您仅使用JavaScript编写跨平台的React Native应用程序,并提供更顺畅的工作流程来获取应用程序在真实设备上运行此外,Expo提供了大量的
native APIs,您通常需要库或自定义本机代码.
原文链接:https://www.f2er.com/react/301270.html世博会很棒,在理想的世界里,它是大多数应用程序开发者可能更喜欢使用的东西,但是Expo的架构设置了一个不幸的限制:你不能编写自定义本机模块,或者集成依赖于自定义本机代码的第三方库.不是建成世博会.这意味着您只能访问React Native和Expo提供的本机功能,并且无法轻松扩展它.
相比之下,react-native CLI的init命令创建了一个简单的React Native应用程序模板,您可以修改本机iOS和Android项目.这种方法的缺点是您需要在计算机上设置本机iOS和Android构建链,并且开始开发和部署应用程序会非常麻烦.
幸运的是,Expo提供了一种从他们的原生app shell到detach CRNA应用程序的方法.这会将CRNA项目转换为类似于react-native init创建的普通项目,但可以访问所有Expo SDK功能.
在实践中,大多数初学者和新项目的最佳方法是从create-react-native-app开始,并评估您是否需要稍后分离.世博会提供handy guide帮助做出决定.