IONIC 功能全演示
文件大小: 60401k
源码售价: 10 个金币 积分规则     积分充值
资源说明:IONIC 功能全演示 ===================== - 使用Ionic提供的UI 组件。Ionic本身是致力于建立统一的移动混合app构建平台,核心基础是Angular+Cordova。 - 通过Angular指令封装,以及预定义的CSS,提供了开箱即用的HTML5 Mobile组件。 - 构建与开发支持,能够直接运行www目录下的index.html进行开发调试。同时也支持发布人员利用gulp构建输出到dist目录 - 利用gulp,同样演示了单元测试以及场景测试。 - [在线演示,内有地址二维码,可手机浏览](http://1.thm1118.sinaapp.com/static/ionic/www/index.html) ## 预览 ![信息卡片](screenshot/card.png) ![下拉刷新](screenshot/pullrefress.png) ![表单元素](screenshot/form.png) ![菜单](screenshot/menu.png) ![列表左滑按钮](screenshot/option.png) ![弹出层](screenshot/pop.png) ![tab](screenshot/tab.png) ![幻灯](screenshot/slide.png) ![图片水平滚动](screenshot/hscroll.png) ![毛玻璃效果](screenshot/blure.png) ![2000条数据搜索](screenshot/search.png) ![输入自动完成](screenshot/autocomplete.png) ![列表自动分组](screenshot/autogroup.png) ![媒体相册](screenshot/galaxy.png) ![chartjs统计图](screenshot/chartjs.png) ![百度统计图](screenshot/echat.png) ![图片延时加载](screenshot/imageload.png) ## 基础环境 纯webapp运行或演示,只需要一个 web server部署即可。 ## 目录结构说明 - www 目录:源码目录 - dist目录:构建输出目录 ## 利于开发,测试和打包部署的nodejs环境 简单开发可以不依赖nodejs环境。但是有了基于nodejs的javascript完整开发周期环境,会极大提升开发效率,保障质量。 - nodejs 最新版。 - 有些node包的安装需要c++编译,x86版本只需要 x86的C++编译器,windows上的x64 c++编译器需要特别设置。 - npm 会很慢,要么使用代理,要么使用国内镜像,比如 [淘宝镜像](http://npm.taobao.org/) , 使用淘宝镜像后,npm命令需要替换成cnpm命令。 - `npm install -g gulp` - `npm install -g ionic` - 如需编译sass的话,安装 [ruby](https://www.ruby-lang.org/zh_cn/),再执行 `gem install sass`(如遇到ssl错误,修改为http源:gem source -a http://rubygems.org/) - `npm install -g node-gyp` - 有的node包依赖python编译,安装 [python2.7](https://www.python.org/) - c++编译环境[MSVStudio 免费版](https://www.visualstudio.com/downloads/download-visual-studio-vs#d-express-windows-desktop).。注意根据studio不同版本指定 --msvs_version=2013 选项 - 安装项目开发依赖包,在项目根目录下运行 `npm install` ### “所见即所得”式开发 - 在项目根目录下运行 `ionic serve`,即可在www目录下开展“所见即所得”的方式开发 - 另外一种方式,在webstorm里对index.html 按debug运行,同样是“所见即所得”的方式开发 ### CROS支持 - 生产环境的 CROS支持要么使用jsonp技术,要么在服务端设置代理。 - 而开发环境下要么 基于不安全做法,服务端api 设置头`Access-Control-Allow-Origin:*" `,要么按如下便捷设置: 基于`ionic serve`, 可以在开发时使用本地代理。ionic.project 内设置: `{ "name": "app", "app_id": "", "proxies": [{ "path": "/api/forecast", "proxyUrl": "https://api.forecast.io/forecast/APIKEY/" }] }` 注意 proxies 意味着可以设置多个代理。path是需要代理的url,proxyUrl是实际指向的url ### Sass支持 - 默认情况是使用预先编译好的css文件,在www/lib/ionic/css目录下。 - 可以开启[Sass](http://sass-lang.com/)开发样式:`ionic setup sass` - sass代码写在 ./scss/ionic.app.scss 内 - 移除index.html内的` ,`,增加`` - 注意所有的css引用都必须放在 `` 内 - 在 ionic.project 内增加 "gulpStartupTasks": ["sass", "watch"] - 开启Sass开发模式后,可以通过运行 `ionic serve` 开所见即所得的方式 看到sass代码变化带来的结果. 或者手工运行gulp任务 - [Sass自定义ionic主题指南](http://learn.ionicframework.com/formulas/working-with-sass/) ## Ionic 相关 开发必看 - [Ionic地址](http://ionicframework.com/) - [入门](http://ionicframework.com/getting-started) - Ionci工具 [Ionic CLI](https://github.com/driftyco/ionic-cli) ## gulp构建流程 - 如果是简单开发,不需要构建。可以通过webstorm,运行index.html即能使用。 - 如果需要产品发布,则需要按照上文要求,准备好node开发环境,然后在根目录成功执行`npm install`后,可以执行预定义的构建任务。 - 预定义构建任务主要分为三个:1、日常sass编译;2、开发构建; 3、发布构建; - 1、日常sass编译: 当前目录执行`gulp` 即可,将自动编译scss目录下的ionic.app.scss文件,并持续监测该文件是否改动,如发生改动,则重新编译输出。详见上文。 - 2、开发构建:`gulp dev:pipeline` 对www目录进行构建,输出到dist目录。构建内容主要是拷贝js,css,图片,字体等文件,并在index.html中自动替换新引用。并自动执行单元测试。开发构建的目的主要是为产品构建做准备。 - 3、发布构建:`gulp prod:pipeline` 对www目录构建,输出到dist目录,除了开发构建内容外,还对图片,js,css等进行压缩合并,并把模板文件编译成js。对目标js执行单元测试。同时对js,css的引用增加时间戳,解决更新后客户端缓存刷新。 - 注意1:www目录下的assets.json 文件里,按顺序列出了需要构建的 css,js文件。上述两种构建都只读取该文件内的文件列表进行构建,不在该文件内的js或css文件会被忽略。 - 注意2: 在www目录下的index.html 中,有如下注释标记,构建时用来插入、全部替换其中的内容,删除该标记 将导致无法引用构建后的js或css文件。 为了在开发时,同时也支持直接基于www目录开发和运行,可以在该标注内引用相关js和css,但是如上文描述,实际构建插入的js和css来自assets.json文件内的引用描述 - 注意3:app.js 内定义了主模块名:starter (`angular.module('starter'`),构建时编译templates目录下的模板文件时,硬编码使用 starter 模块名,如果需要更改app.js内的主模块名,则需要对应到构建描述文件gulp.js内更改模板编译的对应模块名(mainModuleName),否则将导致模板文件无法加载的错误. - 与`ionic serve`命令整合的自动构建,该命令默认是监测www目录,并在www目录上创建一个web服务: 在ionic.project文件内添加或编辑下面内容: "documentRoot": "www", "createDocumentRoot": true, "watchPatterns": ["dist/**/*"], "gulpStartupTasks": ["dev:pipeline" ] 这样在执行`ionic serve`命令时,先执行gulp开发构建,输出到dist目录,ionic 监测dist目录,并在dist目录上创建web服务。 - 构建的版本设定:根目录下config文件夹内分别有开发构建和发布构建两个json文件,修改里面对应值,构建时会自动更新constant.js内的对应键值。 ## 添加或移除js - 添加第三方js:`bower install XXXX --save`,会自动安装新的js库到www目录中的lib目录下。注意需要在assets.json内为构建配置包括该js, - 添加自己开发的js,放在www目录中的js目录下,同样需要在assets.json内配置。 - 在www内的index.html内引用新js时,注意放在``内 ## 单元测试和场景测试 - 参照test目录编写 ## 远程调试 - 微信的android版本的内置浏览器是腾讯x5,大致相当于webkit40,具体版本号很神秘,渲染能力和性能有些问题,参考官方说明[Inspector调试WebView](http://x5.tencent.com/guide?id=2001) ## 其他注意事项: - 出于功能演示目的,引入了一些第三方库,以及各种图片,实际不需要时应该移除,否则导致带宽浪费,加载时间长 - 出于演示登录的权限控制,在app.js 内使用了 通常用于单元测试的$httpBackend,会拦截所有http请求,开发时需要移除.
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。