ionic 3.0+ 项目搭建运行环境的教程


Posted in Javascript onAugust 09, 2017

本文介绍了基于ionic3.4.0的项目搭建,分享给大家,具体如下:

在写这篇文章的时候,ionic版本已经更新到3.4.0。手头上有一大堆ionic1.x版本的项目,也在这个基础上开发了许多第三方的插件。实在是按捺不住迭代重构的想法,终于开始了3.x的升级。文中的内容都是在实践的过程编写的,注意请不要着急升级版本。

环境迁移

先看下升级后最新的环境输出信息

ionic 3.0+ 项目搭建运行环境的教程

全局升级了Cordova和Ionic的版本,分别是7.0.1和3.4.0。输出ionic info 打印出最新的环境配置信息。这里要特殊指出的是Ionic CLI。Ionic和Ionic CLI是不一样的东西。Ionic CLI是基于nodeJS的工具脚手架,开发Ionic应用程序过程中使用的主要工具。更新了最新的Ionic版本后,该工具也随之升级。当我们用Ionic CLI提供的命令去运行打包项目时,显示如图示。

ionic 3.0+ 项目搭建运行环境的教程

为什么会出现如上图所示的情况。在官博相关资料中有介绍,Ionic团队为了提高其性能和用户体验,重写了CLI。更新后的其中一个变化就是和Cordova CLI交互相关的所有命令,都需要将cordova作为命令的一部分。以前我们是执行以下命令

ionic platform add android 
ionic run/build android

在v3 CLI命令则是

ionic cordova platform add android 
ionic cordova run/build android

第一次在项目中执行该命令,会弹出如下提示,是因为Ionic CLI的Cordova功能已被移植到一个插件中,当检测到没有该插件时,会提示用户安装。

ionic 3.0+ 项目搭建运行环境的教程

看下cli-plugin-cordova 安装前后的命令对比

ionic 3.0+ 项目搭建运行环境的教程

ionic 3.0+ 项目搭建运行环境的教程

现在,执行ionic cordova run/build android就可以进行调试打包了。再回到ionic 1.x项目的调试打包问题,不管新旧项目,第一次运行命令,也是会提示按照相应的插件,和v3略有不同。

ionic 3.0+ 项目搭建运行环境的教程

再说起cordova,其实以上命令也都是基于Cordova CLI,那么,如果用Cordova CLI提供的命令来打包,是不是也是可以执行。这当然可以,只是新的工具提供了更多的命令,比如ionic generate(简写: ionic g),可以更加高效的构建项目。拿官博提供的一个例子说下。

$ ionic g tabs
? What should the name be? myTab
? How many tabs? 4
? Name of this tab: home
? Name of this tab: maps
? Name of this tab: contacts
? Name of this tab: more
[OK] Generated a tabs named myTab!

再比如ionic g page myPage、ionic g provider MyData,都可以快速的为我们构建模块化、结构化的目录。工具的作用就是提高我们的开发效率,具体怎么使用,见仁见智了。如果习惯了依旧可以使用cordova,但为了往后面的版本靠拢,升级也无可厚非。

版本降级

说完环境迁移,说说版本回退的问题。在升级到3.4.0之前,因为有升级到2.x的经历,导致1.x项目也是无法正常运行打包,因此对版本进行了回退。而在升级到3.3的时候,折腾了半天也没发现命令重构成ionic cordova。所以把Ionic CLI降级回退到了2.x,这时候ionic start 都是1.x的版本,再通过ionic start xxx ?v2的方法去下载ionic框架在github最新的demo,这时候下载的就是最新的3.x版本。2.x->3.x只是版本号的迭代,所以执行?v2是会下载最新的demo源码。

npm uninstall -g ionic
npm cache clean
npm install -g ionic@2 
ionic start myProject blank

此时我的环境是这样子的

ionic 3.0+ 项目搭建运行环境的教程

可以看到Ionic CLI 的版本是2.x,而项目下载是最新3.x的源码,同样执行基于Ionic CLI 2.x版本的命令,都是可以正常运行打包任何项目的。通过这种办法,也是可以同时运行加载1.x到3.x的项目,至于使用哪种办法,各取所需吧。

学习使用官方Demo

官方在1.x的时候提供了blank/sidemenu/tabs 三种demo模板,开发时可以根据不同的需求学习或使用对应的模板。在3.x之后,新增了super和tutorial两种模板。

tabs : a simple 3 tab layout
sidemenu: a layout with a swipable menu on the side
blank: a bare starter with a single page
super: starter project with over 14 ready to use page designs
tutorial: a guided starter project

ionic start MyIonicProject tutorial

下载模板命令不变,如果没有指定模板,默认是tabs。在这里我推荐使用super模板,可以较快的掌握基础语法和了解基础的项目架构。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
input+select(multiple) 实现下拉框输入值
May 21 Javascript
jQuery实现contains方法不区分大小写的方法
Feb 13 Javascript
了解Javascript的模块化开发
Mar 02 Javascript
jQuery跨域问题解决方案
Aug 03 Javascript
微信支付如何实现内置浏览器的H5页面支付
Sep 25 Javascript
jquery做个日期选择适用于手机端示例
Jan 10 Javascript
jQuery插件FusionCharts实现的2D饼状图效果【附demo源码下载】
Mar 03 Javascript
js实现倒计时关键代码
May 05 Javascript
Angular.js项目中使用gulp实现自动化构建以及压缩打包详解
Jul 19 Javascript
vue-router 权限控制的示例代码
Sep 21 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
May 10 Javascript
JavaScript的一些小技巧分享
Jan 06 Javascript
JavaScript实现的浏览器下载文件的方法
Aug 09 #Javascript
Node.js五大应用性能技巧小结(必须收藏)
Aug 09 #Javascript
详解用node搭建简单的静态资源管理器
Aug 09 #Javascript
vue页面使用阿里oss上传功能的实例(二)
Aug 09 #Javascript
vue.js框架实现表单排序和分页效果
Aug 09 #Javascript
vue页面使用阿里oss上传功能的实例(一)
Aug 09 #Javascript
快速掌握jquery分页插件jqPaginator的使用方法
Aug 09 #jQuery
You might like
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
PHP+MySQL插入操作实例
2015/01/21 PHP
PHP实现的下载远程图片自定义函数分享
2015/01/28 PHP
使用composer命令加载vendor中的第三方类库 的方法
2019/07/09 PHP
js右键菜单效果代码
2007/07/21 Javascript
JS 页面内容搜索,类似于 Ctrl+F功能的实现代码
2007/08/13 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
jQuery中delegate()方法的用法详解
2016/10/13 Javascript
原生js实现addclass,removeclass,toggleclasss实例
2016/11/24 Javascript
如何实现星星评价(jquery.raty.js插件)
2016/12/21 Javascript
jQuery EasyUI Draggable拖动组件
2017/03/01 Javascript
详解AngularJS之$window窗口对象
2018/01/17 Javascript
Angular实现的进度条功能示例
2018/02/18 Javascript
微信小程序之批量上传并压缩图片的实例代码
2018/07/05 Javascript
vue动画打包后失效问题的解决方法
2018/09/18 Javascript
vue学习笔记之Vue中css动画原理简单示例
2020/02/29 Javascript
[02:00]DAC2018主宣传片——龙征四海,剑问东方
2018/03/20 DOTA
Python3实现Web网页图片下载
2016/01/28 Python
Python爬虫:通过关键字爬取百度图片
2017/02/17 Python
python实现连续图文识别
2018/12/18 Python
基于python实现KNN分类算法
2020/04/23 Python
Django处理Ajax发送的Get请求代码详解
2019/07/29 Python
python判断一个变量是否已经设置的方法
2020/08/13 Python
python实现发送邮件
2021/03/02 Python
用CSS3将你的设计带入下个高度
2009/08/08 HTML / CSS
行政总经理岗位职责
2013/12/05 职场文书
宿舍打麻将检讨书
2014/01/24 职场文书
《画》教学反思
2014/04/14 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
2015年大学生村官工作总结
2015/04/21 职场文书
校园音乐节目广播稿
2015/08/19 职场文书
2016廉政教育学习心得体会
2016/01/25 职场文书
学习计划是什么
2019/04/30 职场文书
该怎么书写道歉信?
2019/07/03 职场文书
Redis高并发防止秒杀超卖实战源码解决方案
2021/11/01 Redis
CSS实现单选折叠菜单功能
2021/11/01 HTML / CSS