sencha touch 入门系列 扩展篇之sencha touch 项目打包压缩
经常有新手同学抱怨说sencha touch的项目加载速度为什么这么慢,经常要10秒左右的时间甚至更多,
大家都知道,sencha touch开发的项目中引用了大量的js文件,当我们打开项目时,st的项目会一个一个地加载这些js文件,这样就造成了项目加载速度慢,如果是web远程访问,还会产生大量的http请求影响加载速度,增加服务器压力。
所以,我们的项目需要使用sencha cmd来进行打包压缩,通过sencha cmd打包压缩的项目,其中引用到的js(app.json中配置的或是项目中通过models、views、controls、requires这些方式引用的js文件)全部合并压缩成一行js代码,并且会对代码中的变量也进行压缩,大幅度降低js文件的大小,加快js的加载速度,减少http请求,同时它也会对css文件进行压缩.
不过要使用sencha cmd工具来打包压缩项目,前提是你的项目是通过sencha cmd工具创建出来的,因为cmd工具压缩项目的时候要读取项目生成时的一些配置文件,当然你也可以手动去配置这些文件,下面我们以sencha touch 入门系列 (三)sencha touch 项目创建中创建的项目为例,
我们具体讲解下如何打包压缩sencha touch的项目:
1.首先打开指令窗口,将路径定位到你的项目中去,我的项目为MyFirst, 如图所示:

接着,我们来执行sencha cmd的打包指令就可以了,
sencha cmd有4个打包指令,所有的打包命令执行后,默认都会在项目的build文件夹下生成一个对应的文件夹,下面我们来看下指令
1. sencha app build testing:
通过指令名称的testing,大家应该猜到了,这个指令是用来打包测试的,这个指令会将所有的js文件压缩到app.js中去,但是并不做压缩处理,用来让开发者在执行代码压缩前调试代码用的,指令执行后,会在项目的build文件夹下生成一个testing文件夹,里面即生成的压缩测试项目
2.sencha app build package:
这个指令只对项目进行打包压缩处理,指令执行后,会将所有的js压缩合并并进行变量转换,所有的js文件的代码会被压缩成一行放置在app.js中,并在build文件夹下生成一个package文件夹,里面即生成的压缩项目。
3.sencha app build production 或者 sencha app build:
这两个指令的效果是一样的,跟package不同,生成的production主要是用来发布webapp的,除去压缩了js跟css文件外,它还配置了浏览器的离线缓存,只要你的项目访问了一次,以后每次访问都是读取的离线缓存中的内容
4.sencha app build native:
这个指令是用来将项目打包原生安装程序的,不过打包前需要配置下项目目录下的packager.json文件,如果配置错误或没有配置该文件,将不会生成安装程序,且不会报错,对于打包安装程序,一般就是sencha cmd方式的打包跟使用phonegap进行打包,后面我们会详细讲解,这里就不做多余的讲解了
以上就是打包的4种方式,这里给大家简单介绍下,希望大家知道自己的项目为什么会加载缓慢,后面我们还会有更加详细的教程
sencha touch 入门系列 扩展篇之sencha touch 项目打包压缩的更多相关文章
- sencha touch 入门系列 (五)sencha touch运行及代码解析(上)
由于最近项目比较忙,加之还要转战原生开发,所以很久没更新了,今天我们接着上一次的内容往下讲: 首先我们打开index.html,这是我们整个程序的访问入口,也是整个项目的引入地: <!DOCTY ...
- sencha touch 入门系列 (二)sencha touch 开发准备
这是本人第一次写博客教程,没什么经验,文笔也不是很好,写这教程一方面为了巩固自己这段时间的学习成果,一方面帮助大家解决问题,欢迎大家多提建议,指出问题.接下来我们就开始我们的sencha touch开 ...
- sencha touch 入门系列 (六)sencha touch运行及代码解析(下)
接着上一讲,通过index.html里development.js对app.json里js资源文件的解析,app.js便被index.html引入了, app.js是整个项目的程序入口,在项目完成时使 ...
- sencha touch 入门系列 (四)sencha touch 新建项目目录结构解析
通过上一章节的操作,我们的项目已经创建完成了, 大家通过http://127.0.0.1/MyFirst/应该都已经访问到了自己的应用, 接下来,我们展开我们项目,如图所示: 一.目录结构 1. .s ...
- sencha touch 入门系列 (三)sencha touch 项目创建
通过上一章节的学习,我们的开发环境已经配置好了,接下来我们开始创建第一个sencha touch的项目,网络上很多sencha touch的教程都是手动搭建项目的, 不过手动搭建的项目缺少一些senc ...
- sencha touch 入门系列 (一)sencha touch 简介
参考链接:http://mobile.51cto.com/others-278381.htm Sencha touch 是基于JavaScript编写的Ajax框架ExtJS,将现有的ExtJS整合J ...
- sencha touch 入门系列 (八)sencha touch类系统讲解(下)
接着上一讲,我们通过一组代码来讲解一下st的类的一些属性: Ext.define("MyConfig",{ config:{ website:"http://127.0. ...
- sencha touch 入门系列 (九)sencha touch 视图组件简介
对于一个普通用户来说,你的项目就是一组简单的视图集合,用户直接通过跟视图进行交互来操作你的应用,对于一个开发人员来说,视图是一个项目的入口,虽然大部分时候最有价值的部分是在model层和control ...
- sencha touch 入门系列 (七)sencha touch 类系统讲解(上)
在mvc结构的基础上,sencha touch又使用了sencha公司为extjs4开发出来的类系统,在面向对象的编程语言中,类是对对象的定义,它描述了对象所包含的大量属性和方法. 跟面向对象语言类似 ...
随机推荐
- Zookeeper配置文件参数与含义
zoo.cfg # The number of milliseconds of each tick tickTime=2000 # The number of ticks that the ini ...
- C# cs文件表头模版
设置位置:C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplatesCache\CSharp\Web\2 ...
- Select显示多级分类列表
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- iOS边练边学--UIScrollView和xib文件实现简单分页+定时器初使用
一.xib文件构成 二.自定义控件类(xib文件与自定义控件类的文件名字相同,并且将xib文件中父类控件的类名改成自定义控件类的名称) ***********自定义控件类需要的属性********** ...
- Hibernate- 条件查询
01.搭建开发环境 02.条件查询 package com.gordon.test; import java.util.List; import org.hibernate.Query; import ...
- FastCGI 进程管理器(FPM)
FPM(FastCGI 进程管理器)用于替换 PHP FastCGI 的大部分附加功能,对于高负载网站是非常有用的. 它的功能包括: 支持平滑停止/启动的高级进程管理功能: 可以工作于不同的 uid/ ...
- fprintf宏
最近在调试程序,使用printf函数和调试信息都不能在终端输出,所以使用比较笨的方法.将调试信息写到文件中,再查看文件.由于要多次使用fprintf函数,所以将其写成宏. 参考链接: http://w ...
- struct iphdr中的__LITTLE_ENDIAN_BITFIELD和__BIG_ENDIAN_BITFIELD
__LITTLE_ENDIAN_BITFIELD表示小端序,__BIG_ENDIAN_BITFIELD表示大端序. /usr/include/linux/ip.h中有一段代码定义了ip首部的结构体,例 ...
- 【JavaScript】使用setInterval()函数作简单的轮询操作
轮询(Polling)是一种CPU决策怎样提供周边设备服务的方式,又称"程控输出入"(Programmed I/O). 轮询法的概念是.由CPU定时发出询问.依序询问每个周边设备是 ...
- 使用avahi 的mdns服务发现server
avahi-browse -a 可以查看局域网内所有的mdns服务, avahi-browse -r _xxxxx._tcp