原文发表于我的技术博客

本文是「Ionic 入门与实战」系列连载的第三章,主要对 Ionic 的项目结构作了介绍,并讲解了Ionic 中的路由概念以及相关配置。

原文发表于我的技术博客

1. Ionic 项目结构

这是初始化创建的 Ionic 项目结构,接下来将一一讲解。

因为 Ionic 使用了 Cordova 技术,所以项目的文件架构基本和 Cordova 的项目类似。

1.1 app 文件夹

项目文件夹,后续的代码编写都将在这里进行,因为使用的语言就是 HTML5/CSS(Sass)/JavaScript,所以项目结构类似于静态网站的项目结构。

1.2 hooks 文件夹

hooks 文件夹 主要放置在提交给 Cordova 处理的时候,自定义的一些动作,主要用于一些自动化处理的动作,如在编译前、编译后、运行前等等时刻插入自己定义好的动作。具体的介绍可以查看其中包含的文件 README.md

1.3 node_modules 文件夹

包含了所有使用 npm 安装的依赖包。

1.4 platforms 文件夹

platforms 包含了 iOS 平台和 Android 平台的项目文件,一般不需要去修改,除非你需要修改一些原生的配置,如需要配置不同平台的推送通知的时候,才需要对其中的相关文件进行修改。

1.5 plugins 文件夹

存储所有 Cordova 插件的位置,注意区别于 npm 安装依赖包的位置。

安装命令如下,{plugin} 是插件的 ID 或者 插件 GitHub 的 URL:

ionic plugin add {plugin}

1.6 resources 文件夹

放置了平台的图标(icon)和启动界面图片(splash),注意适配不同的分辨率,后续章节会作详细介绍。

1.7 www 文件夹

独立的项目,用于在浏览器调试时生成的文件夹,这样项目生成的 cordova/ionic 等编译文件将不在项目文件夹中存在,可以用于单纯的 web 发布使用。具体的配置在下面的 ionic.project 文件中有详细的介绍。里面的 index.html 是 app 的入口。

1.8 config.xml

项目整体配置,配置文件的节点和 Cordova 是一样的,具体的节点解释可以参见这里

1.9 gulpfile.js

gulp 是一个基于流的自动化构建工具,文件中配置了项目编译过程中执行的构建流事件。大型项目需要自动构建的时候才会去修改相关配置,一般不去修改即可。

1.10 ionic.config.js

配置用于执行 Ionic CLI 时候使用。

1.11 ionic.config.json

可以自定义配置值,供项目读取。

1.12 ionic.project

除了基本信息的配置,还可以在其中添加一些外部的配置,如添加一个 Gulp Watch,用于实现 LiveReload。

"gulpStartupTasks": [
"watch"
],
"watchPatterns": [
"./scss/**/*.scss",
"./www/js/**/*.js",
"./www/build/index.html"
]

1.13 package.json

项目依赖的包在这里管理,如果项目中丢失或者初始化,使用 npm install 命令的时候,会加载此配置文件中的依赖包。

这里只是大概了解了每个文件夹、文件的作用,更多的使用方法将在接下来的实际项目中有详细地讲解。

Ionic 入门与实战之第三章:Ionic 项目结构以及路由配置的更多相关文章

  1. Ionic 入门与实战之第二章第二节:Ionic 环境搭建之 Ionic Lab 使用

    原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第二章第二节,主要对 Ionic Lab 工具作了介绍,并讲解了其使用方法,这也是一个开发 Ionic 比较好的调试工具. 原文发表于 ...

  2. Ionic 入门与实战之第一章:Ionic 介绍与相关学习资源

    原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第一章,主要对 Ionic 的概念.发展历程.适配的移动平台等知识进行了介绍,并分享了 Ionic 相关的学习资源. 原文发表于我的技 ...

  3. Ionic 入门与实战之第二章第一节:Ionic 环境搭建之开发环境配置

    原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第二章第一节,主要对 Ionic 的开发环境配置做了简要的介绍,本文介绍的开发环境为 Mac 系统,Windows 系统基本类似,少许 ...

  4. 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程

    点击了解更多Python课程>>> 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程 适用人群: 即将毕业的大学生,工资低工作重的白领,渴望崭露头角的职场新人, ...

  5. 微信小程序入门与实战 常用组件API开发技巧项目实战*全

    第1章 什么是微信小程序? 第2章 小程序环境搭建与开发工具介绍 第3章 从一个简单的“欢迎“页面开始小程序之旅 第4章 第二个页面:新闻阅读列表 第5章 小程序的模板化与模块化 第6章 构建新闻详情 ...

  6. 《精通Spring4.x企业应用开发实战》第三章

    这一章节主要介绍SpringBoot的使用,也是学习的重点内容,之后就打算用SpringBoot来写后台,所以提前看一下还是很有必要的. 3.SpringBoot概况 3.1.1SpringBoot发 ...

  7. flask实战-个人博客-虚拟环境、项目结构

    个人博客 博客是典型的CMS(Content Management system,内容管理系统),通常由两部分组成:一部分是博客前台,用来展示开放给所有用户的博客内容:另一部分是博客后台,这部分内容仅 ...

  8. 【无私分享:ASP.NET CORE 项目实战(第三章)】EntityFramework下领域驱动设计的应用

    目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 在我们 [无私分享:从入门到精通ASP.NET MVC] 系列中,我们其实也是有DDD思想的,但是没有完全的去实现,因为并不是 ...

  9. .NET Core IdentityServer4实战 第三章-使用EntityFramework Core进行持久化配置

    内容:本文带大家使用IdentityServer4进行使用使用EntityFramework Core进行配置和操作数据 作者:zara(张子浩) 欢迎分享,但需在文章鲜明处留下原文地址. 前两章内容 ...

随机推荐

  1. tkinter中button按钮控件(三)

    button控件 简单的实现: import tkinter wuya = tkinter.Tk() wuya.title("wuya") wuya.geometry(" ...

  2. [MapReduce_1] 运行 Word Count 示例程序

    0. 说明 MapReduce 实现 Word Count 示意图 && Word Count 代码编写 1. MapReduce 实现 Word Count 示意图 1. Map:预 ...

  3. PL/SQL 删除主键 ORA-02443: 无法删除约束条件-不存在的约束条件

    在PL/SQL developer中删除一个表的主键,然后把另外一个字段设置成主键,删除的过程中报错:ORA-02443 我遇到这个问题出现的背景是: alter table saleqtya dro ...

  4. zabbix监控磁盘IO

    我这里有两种方法,感觉都不错.我这里主要是写一下监控的脚本. 1.使用iostat命令监控 1)首先打开配置文件的自定义脚本功能,然后编写脚本. #!/bin/bash ];then echo &qu ...

  5. python redirect和render的区别

    render是渲染变量到模板中,而redirect是HTTP中1个跳转的函数,一般会生成302状态码.

  6. 3.1Python数据处理篇之Numpy系列(一)---ndarray对象的属性与numpy的数据类型

    目录 目录 (一)简单的数组创建 1.numpy的介绍: 2.numpy的数组对象ndarray: 3.np.array(list/tuple)创建数组: (二)ndarray对象的属性 1.五个常用 ...

  7. 一次ASM磁盘空间假装耗尽 ORA-15041: DISKGROUP SPACE EXHAUSTED

    给ASM磁盘新增一块盘进去,ASM_DISK2剩余空间四百多G: SQL> select * from v$asm_diskgroup;   GROUP_NUMBER NAME         ...

  8. eclipse 右键发现没有 build-path

    1)确认下是否有.project和.classPath文件 2)点击右上角按钮先切换到java下,默认方式是javaEE 然后就能出现build path了 这是build path 子项为灰色,依然 ...

  9. python中requests已安装却仍报No module named requests错的原因

    调用pip list可见已经成功安装了: requests 但是在运行时仍报错: userdeMacBook-Pro:xiaohui user$ python test_web.py Tracebac ...

  10. 360极速浏览器极速模式通过hosts文件切换兼容模式bat脚本

    注意:需要获得管理员权限执行,且后缀为 .bat @echo offsetlocal enabledelayedexpansionset url=被替换的域名set ip=替换的域名set strNe ...