Ionic React和Capacitor入门

Ionic是Angular移动应用程序开发最流行的框架。现在,Ionic宣布推出React beta和Vue Js。这篇文章是关于Ionic React with Capacitor(Ionic Product)的开始。电容器是Cross-Platform的原生新娘,用于构建通用应用程序。这篇博文将解释如何使用Ionic移动组件设置react项目并生成iOS,Android和桌面(Electron框架构建)应用程序。


创建Ionic React项目
执行此命令以创建基于反应的离子项目。

npx  create-react-app  react-ionic-app  --typescript
cd  react-ionic-app


安装Ionic和React路由依赖。 

npm  install @ ionic / react 
npm   install react-router 
npm   install react-router-dom 
npm   install @ types / react-router 
npm   install @ types / react-router-dom


App.js
现在用CSS导入Ionic组件包。清除现有的App.css代码。

import  @ ionic / core / css / core.css  ;  

import  @ ionic / core / css / ionic.bundle.css  ;

@ ionic / react  导入 IonApp  ;

react  导入 React    Component  ;


class  App  扩展   Component  {

render  ()   {

   回来

     <  IonApp  </  IonApp  >

   ) ;

}

}

出口 默认 App  ;


运行项目
使用以下命令执行项目。我建议使用 纱线 ,这适用于 React 。项目在 3000 港口运行。

npm  run  start 

yarn  start 

编译成功!

您现在可以在浏览器中查看 react-ionic-app

本地: http:// localhost:3000 /
在您的网络上:http://192.168.0.17  :3000 /


构建项目 在项目 src 目录下
创建 页面 组件 服务 文件夹。

离子反应项目结构 wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==


生成React组件
React不提供任何命令行来自动生成组件。该 generact 是第三方插件,这将帮助你快速生成文件。

安装Generact

npm  install  -g  generact


Generact wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==


使用generact生成React组件  
转到项目级别并执行generact命令。这将提示您需要复制哪些组件。

react-ionic-app $  generact
?您想要复制哪个组件? 应用
?您想如何命名App组件? 标题
?你想在哪个文件夹中放置Header组件? SRC /部件/插头


这样所有组件文件都会自动生成。 

反应离子头文件 wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==


Header.js 在components文件夹下
创建 Header 组件。删除CSS导入,因为我们已经在App.js上导入了

import  {

IonHeader 

IonTitle 

IonToolbar

  @离子/反应 ;

react  导入 React    Component  ;


class  Header  扩展   Component  {

render  ()   {

  回来

   <  IonHeader  >

     <  IonToolbar  color  “  danger  ”  >

     <  IonTitle  > 我的导航栏 </  IonTitle  >

   </  IonToolbar  >

  </  IonHeader  >

;

}

}

导出 默认 标题 ;


基于 标题的  复制 页脚 组件

react-ionic-app $  generact
?您想要复制哪个组件? 标题
?你想如何命名Header组件? 页脚
?你想在哪个文件夹中放置Footer组件? SRC /组件


Footer.js
导入设计的 IonFooter 组件。

@ ionic / react  导入 IonFooter  IonTitle  IonToolbar  ;  


react  导入 React    Component  ;


class  Footer  extends  Component  {

render  ()   {

   回来

    <  IonFooter  >

     <  IonToolbar  color  “  primary  ”  >

     <  IonTitle  > 页脚 </  IonTitle  >

     </  IonToolbar  >

   </  IonFooter  >

  ) ;

}

}

导出 默认 页脚 ;


生成主页
使用 generact 复制主页的Header组件。

react-ionic-app $  generact
?您想要复制哪个组件? 标题
?你想如何命名Header组件?
?你想在哪个文件夹中放置Home组件? SRC /页


Home.js
包含页面内容。

import  {  

IonCard 

IonCardHeader 

IonCardTitle 

IonContent

  @离子/反应 ;

react  导入 React    Component  ;


class  Home  extends  Component  {

render  ()   {

   回来

     <  IonContent  >

       <  IonCard  >

       <  IonCardHeader  >

       <  IonCardTitle  > 欢迎来到主页 </  IonCardTitle  >

       </  IonCardHeader  >

      </  IonCard  >

     </  IonContent  >

   ) ;

}

}


出口   默认 首页 ;



其他页面也是如此。 

react-ionic-app $  generact
?您想要复制哪个组件?
?你想如何命名Home组件? 设置
?您想在哪个文件夹中放置设置组件? src / pages

react-ionic-app $   generact
?您想要复制哪个组件?
?你想如何命名Home组件? 关于
?你想在哪个文件夹中放置关于组件? SRC /页



您将在以下结构中找到生成的组件。 

反应离子头文件 wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==


使用Ionic Components构建

App.js
现在导入所有组件,而 不是IonApp

import  @ ionic / core / css / core.css  ;  

import  @ ionic / core / css / ionic.bundle.css  ;

@ ionic / react  导入 IonApp  ;

react  导入 React    Component  ;

./components/Footer/Footer  导入 页脚   ;

./components/Header/Header  导入 标题   ;

./pages/Home/Home  导入 主页   ;


class  App  扩展   Component  {

render  ()   {

     回来

       <  IonApp  >

         <  标题   />

         <  Home  />

         <  页脚   />

      </  IonApp  >

    ) ;

}

}

出口 默认 App  ;


您将找到Home组件的输出。


使用路由
现在我们需要使用路由连接所有页面。

在项目 src 目录下创建routes.js配置文件。

反应离子头文件 wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==


routes.js
使用React路由连接组件。这里路径*指的是404页面。

react  导入 React  ;  

react-router-dom  导入 BrowserRouter    Switch    Route  ;

./pages/Home/Home  导入 主页   ;

./pages/About/About  导入 关于   ;

./pages/Settings/Settings  导入 设置   ./pages/NoPage/NoPage  导入 NoPage  ;  
   

const  Routes  ()   =>

BrowserRouter  >

   <  开关 >

      <  Route  exact  path  “  ”  component  = {  Home  />

      <  Route  exact  path  “  / about  ”  component  = {  About  /> 
      <  Route  exact  path  “  / settings  ”  component  = {  Settings  } />    

      <  Route  exact  path  “  ”  component  = {  NoPage  />

</  Switch  >

</  BrowserRouter  >

;

导出 默认 路由 ;


App.js
现在在主App页面中包含Routes。默认路由加载主页。

import  @ ionic / core / css / core.css  ;  

import  @ ionic / core / css / ionic.bundle.css  ;

@ ionic / react  导入 IonApp  ;

react  导入 React    Component  ;

./components/Footer/Footer  导入 页脚   ;

./components/Header/Header  导入 标题   ;

./routes  导入 路线   ;

class  App  扩展   Component  {

render  ()   {

     回来

       <  IonApp  >

       <  标题   />

       <  路线   />

       <  页脚   />

       </  IonApp  >

    ) ;

}

}


出口   默认  App  ;


Home.js
要导航到其他页面,请使用 链接 组件进行重定向。

import  {  

IonCard 

IonCardHeader 

IonCardTitle 

IonContent

  @离子/反应 ;

react  导入 React    Component  ;

react-router-dom  导入 Link  ;


class  Home  extends  Component  {

render  ()   {

      回来

        <  IonContent  >

        <  IonCard  >

        <  IonCardHeader  >

        <  IonCardTitle  > 欢迎来到主页 </  IonCardTitle  >

          Link  to  “  / about  ”  > 关于 </  Link  >

         <  Link  to  “  / settings  ”  > 设置 </  Link  >

       </  IonCardHeader  >

        </  IonCard  >

       </  IonContent  >

     ) ;

}

}


出口   默认 首页 ;


反应离子头文件 wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==


使用电容器 - 构建移动应用程序
您需要使用以下插件将Web项目转换为移动应用程序。

npm  install --save @ capacitor / core @ capacitor / cli


构建Web项目
您必须构建用于创建移动应用程序的Web项目。

npm   run build 

yarn  build


初始化电容
命令 npx cap init 创建配置文件。修改webDir来 构建 ,而不是 www  

react-ionic-app $ npx cap init 
?应用名称 YourAppName
?应用程序包ID(采用Java包格式,无破折号) com.reactionic.com
?你想使用哪个npm客户端? 纱线
在2.57ms内初始化/ react-ionic-app中的


电容器项目?您的电容器项目已准备就绪!? 

使用“ npx cap add”添加平台:

npx  cap  add  android 
npx    cap    add   ios 
npx    cap    add   electron 

按照开发人员工作流程指南进行构建:
https ://capacitor.ionicframework.com/docs/basics/workflow



iOS项目
以下命令为Xcode生成iOS支持文件。

反应离子-应用$  NPX      加入  IOS 
在20.32s安装iOS的依赖性
  在添加原生的Xcode项目: /反应离子-应用程序/ IOS 在37.37ms 
✔    添加 在20.36s 
  从构建复制网络资产 的ios /应用/公众 在712.87ms 
  在4.76ms复制本地桥
  在2.28ms复制capacitor.config.json 
✔    副本 中731.23ms 
  在2.25ms更新的iOS插件
找到0电容插件IOS:
更新iOS原生的依赖关系:
更新IOS :
[error]运行更新时出错:[!]未知安装选项:disable_input_output_paths。


更新Cocoapods
如果您收到“正在更新iOS本机依赖项”问题。

pod  repo  update

CocoaPods 1.7.0.rc.1可用。
要更新使用:`  sudo的创业板安装的CocoaPods -事先  ` 
[!]这是一个测试版本中,我们很乐意你去尝试。

sudo的创业板安装的CocoaPods -事先

反应离子-应用$ NPX帽更新IOS 
  更新的iOS插件,12.39ms 
发现0电容插件IOS:
  更新iOS原生的依赖在9.81s 
✔    更新 在9.84s IOS 
更新在9.871s完成


Android项目
以下命令生成Android SDK文件。

反应离子-应用$ NPX帽添加的Android 

  在28.66s安装Android的依赖
  在添加原生Android项目:在75.12ms /反应离子-应用程序/机器人
  正在同步摇篮在51.01s 
✔    添加 在79.75s 
  复制的网络资产从生成到Android /应用/ src目录/主/资产/公众677.46ms 
  在2.39ms复制本地桥
  复制 capacitor.config.json 在1.53ms 
✔    副本 中701.45ms 
  在2.77ms更新Android插件
发现0电容插件对于android:
  在27.06ms更新android




Elector Desktop Project
这将生成桌面SDK文件。有关更多信息,请查看 Ionic Electron Desktop App

反应离子-应用$ NPX帽添加电子
  添加 电子 项目: /反应离子-应用/电子 在17.66ms 
⠋安装NPM DependenciesInstalling NPM的依赖...... 
⠴  addyarn 安装v1.16.0 
信息无锁文件中。
[1/4]解析包... 
[2/4]获取包... 
[3/4]链接依赖项... 
[4/4]构建新包... 
成功保存的lockfile。
完成时间为36.18秒。

警告电子>电子下载>金块>进度流>通过2> xtend> object-keys@0.4.0 :

已安装NPM依赖项!
  在36.58s中安装NPM依赖项
✔    添加  36.60s 
⠋将网络资产从构建复制到电子/ appCleaning / Users / SrinivasTamada / Desktop / projects / react-ionic-app / electron / app ... 
复制网络资产... 
  将网络资产从构建复制到电子在1.07s /应用
  在2.23ms复印capacitor.config.json 
✔    拷贝 在1.08s 
  在682.89μp更新电子



更新移动包
使用以下sync命令更新具有最新Web构建更新的移动包。

反应离子-应用$ NPX帽同步
  复制网络资产 积累 Android设备/应用/ src目录/主/资产/公众 在609.50ms 
  复制在2.68ms本地桥
  在1.54ms复制capacitor.config.json 
✔    副本 中634.23ms 
  更新Android插件在2.04ms 
发现Android的0电容插件:
✔    更新   的Android 在19.84ms 
  复制网络资产 积累 IOS /应用/公众 在491.27ms 
  复制在1.29ms本地桥
  复制capacitor.config。 JSON在2.72ms 
  拷贝 在502.19ms 
  在1.94ms更新的iOS插件
实测值0电容器插件IOS:
  更新的iOS在15.03s天然依赖性
✔    更新IOS 在15.04s 
⠋从生成复制web资源给电子/ appCleaning /反应离子应用内/电子/应用程序... 
⠙从构建复制网络资产,以电子/ appCopying网络资产...... 
  复制网络资产积累到电子在610.96ms /应用
  复制在5.15ms capacitor.config.json 
  副本619.52ms 
✔    更新电子 在19.43μp 
✔    副本 中336.19μp 
✔    更新 的17.34μp网
同步在16.839s完成



构建iOS应用程序
按照执行Xcode构建的命令,观看视频教程,您将了解更多。

npx  上限   开启  ios


构建Android应用程序
使用Android SDK打开Android构建>

npx    cap    打开  android


构建Electron桌面应用程序
Open Electron构建。

npx  cap  打开  android


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69933200/viewspace-2649523/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/69933200/viewspace-2649523/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ionic React是一个基于React的框架,它允许开发者使用React来构建跨平台的移动应用程序。通过引用中的代码,可以看出在Ionic React中可以导入IonFooter、IonTitle和IonToolbar等组件。这些组件可以帮助我们构建具有丰富用户界面的应用程序。通过引用中的命令,可以创建一个基于TypeScript的Ionic React应用程序。使用这个命令之后,可以通过引用中的命令来创建一个React Native应用程序。总的来说,Ionic React是一个基于React的框架,允许我们使用React来构建移动应用程序,并且提供了一些可重用的UI组件来加速开发过程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Ionic ReactCapacitor入门](https://blog.csdn.net/qq_40338373/article/details/94604036)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Ionic vs React Native: 移动开发哪家强 ?](https://blog.csdn.net/j2IaYU7Y/article/details/79564751)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值