谈谈你对ionic2的项目结构的认知

        ionic2 你可以是理解为基于 angular 2 框架的引申(主要针对移动端,主要是里面提供了大量的组件可以使用,可以把它理解成里面包含了很多的UI库, 就好比 ios开发中的 UIKit一样).

如果从头让你写一个Ionic 2/3的项目,你会写吗?

        相信很多人都不是自己亲手去搭建的项目.   都是在别人搭建好的基础上 去写功能.. 甚至 你都不了解启动文件在哪 , http请求等一些需要全局封装配置 怎么处理等等.....

        我们先来看angular 的官网文档:angular 是一个框架,看一个框架第一步肯定是要看这个框架的架构!架构!  你可以把这个架构理解成是 一套规则, 这套规则是以为我们提供便利为前提的标准去制定的, 而我们要想享受它所提供的便利,那么我们就首先要了解这套规则,以遵守规则为前提,然后再去使用它.

正文: 

         Angular 是一个用 HTML 和 JavaScript 或者一个可以编译成 JavaScript 的语言( TypeScript ),来构建客户端应用的框架。我们是这样写 Angular 应用的:用 Angular 扩展语法编写 HTML模板, 用组件类管理这些模板,用服务添加应用逻辑, 用模块打包发布组件与服务。

        其中的关键字:  组件 ,  模板 ,  服务 ,  模块 .        这几个重要的架构组成, 官方文档写的很清楚.自己先好好理解下 ,下面我说下我个人的理解: 先上一个ionic 2项目结构 局部 目录图: 

app文件夹:  项目的根配置目录;      assets文件夹: 引用的资源(图片素材等)放置在这里

pages文件夹:  也就是功能模块文件夹(tabs 控制的几大模块)

pipes文件夹: 里面放的是自定管道(过滤器)

providers文件夹: 服务配置文件夹.(各模块用到的服务,主要封装的是各模块用到的接口请求,以及逻辑数据的处理, 跨页面的数据传递 就是依赖服务区实现的)

首先说  

模板:  你就可以理解成 用angular2 扩展语法编写 的HTML.   也就是 .html文件

组件:  你也可以理解成.ts文件. 就相当于js文件,作用是干嘛的?  组件通过一些由属性和方法组成的 API 与视图交互。  还有,组件其实就是一个类文件 与 @Component装饰器 的结合.   (装饰器 , 指令,元数据  这些关键词 你也去搜下具体的解释.  通俗的来说,就是, ts文件中, 通过装饰器 引用你编写的模板,然后通过你写的方法等逻辑代码 去实现API的视图交互.暂且这么理解,虽然不太准确)

还有那些 依赖注入, 服务,数据绑定啥的. 都自己看下就行.  切回正题, 项目结构文件都是怎么关联的;

模块 @NgModule

       模块这个关键字 你可以好好理解下.    你写的项目下.不仅仅有js(ts), html, css , 是不是发现该模块下还有一个module.ts文件.     因为一个模块下.有很多界面. 我们是如何把这些界面想关联起来的? 就是用模块 这个概念实现的.  不过为了规范,文档上说,每个模块下 都用index.js 去实现关联. 就是一个名字而已.你有这个概念就行. 

        说了模块,再回到整个App.   那么APP是不是 由很多模块构成的?  那么我们把各大模块关联起来,那么是不是就是整个App了?

        我是通过倒序的方法给你们讲的,目的是方便理解.  当然,正确概念是,模块不仅把你的页面关联起来,还有你写的服务等等都会关联起来的.      官方文档是这么写的:  "用模块打包发布组件与服务".     打包,就是封装带一起.你可以理解成结合起来的意思.


app.module.ts  是你构建ionic项目的根模块.  在这里面,我们导入了 我们的几大模块(1. MeetingModel 会议模块 2.BoardroomModule 会议室模块,UserModule 个人用户模块. ).   以及全局Tabs,导航栏,  全局服务等等.

然后我再贴一个模块下的@NgModule  它 主要是把每个模块下的界面关联到一起


declarations 里面写的就是我们关联的这些界面.     再往下拆分,  每个界面其实由三部分构成(js,html,css).

从小大到构成了我们整个项目.   

因为项目是公司上线项目,我不方便贴出来代码给大家参考的.. 并且网上有很多这样的项目可以下载.  关键是在于理解.. 我自己也是前前后后看了十几遍文档 ,从最初的一脸懵逼,到慢慢的渗透, 都是有一个过程的.  要养成自学的习惯.  等你什么时候能独立的掌握一个框架的话,当你再去学习其他的,都会有很多可以参考的地方让你去快速上手. 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容