经常有新手同学抱怨说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 项目打包压缩的更多相关文章

  1. sencha touch 入门系列 (五)sencha touch运行及代码解析(上)

    由于最近项目比较忙,加之还要转战原生开发,所以很久没更新了,今天我们接着上一次的内容往下讲: 首先我们打开index.html,这是我们整个程序的访问入口,也是整个项目的引入地: <!DOCTY ...

  2. sencha touch 入门系列 (二)sencha touch 开发准备

    这是本人第一次写博客教程,没什么经验,文笔也不是很好,写这教程一方面为了巩固自己这段时间的学习成果,一方面帮助大家解决问题,欢迎大家多提建议,指出问题.接下来我们就开始我们的sencha touch开 ...

  3. sencha touch 入门系列 (六)sencha touch运行及代码解析(下)

    接着上一讲,通过index.html里development.js对app.json里js资源文件的解析,app.js便被index.html引入了, app.js是整个项目的程序入口,在项目完成时使 ...

  4. sencha touch 入门系列 (四)sencha touch 新建项目目录结构解析

    通过上一章节的操作,我们的项目已经创建完成了, 大家通过http://127.0.0.1/MyFirst/应该都已经访问到了自己的应用, 接下来,我们展开我们项目,如图所示: 一.目录结构 1. .s ...

  5. sencha touch 入门系列 (三)sencha touch 项目创建

    通过上一章节的学习,我们的开发环境已经配置好了,接下来我们开始创建第一个sencha touch的项目,网络上很多sencha touch的教程都是手动搭建项目的, 不过手动搭建的项目缺少一些senc ...

  6. sencha touch 入门系列 (一)sencha touch 简介

    参考链接:http://mobile.51cto.com/others-278381.htm Sencha touch 是基于JavaScript编写的Ajax框架ExtJS,将现有的ExtJS整合J ...

  7. sencha touch 入门系列 (八)sencha touch类系统讲解(下)

    接着上一讲,我们通过一组代码来讲解一下st的类的一些属性: Ext.define("MyConfig",{ config:{ website:"http://127.0. ...

  8. sencha touch 入门系列 (九)sencha touch 视图组件简介

    对于一个普通用户来说,你的项目就是一组简单的视图集合,用户直接通过跟视图进行交互来操作你的应用,对于一个开发人员来说,视图是一个项目的入口,虽然大部分时候最有价值的部分是在model层和control ...

  9. sencha touch 入门系列 (七)sencha touch 类系统讲解(上)

    在mvc结构的基础上,sencha touch又使用了sencha公司为extjs4开发出来的类系统,在面向对象的编程语言中,类是对对象的定义,它描述了对象所包含的大量属性和方法. 跟面向对象语言类似 ...

随机推荐

  1. Kafka_Zookeeper_环境搭建使用

    Kafka 安装和测试 1. 简介 kafka (官网地址:http://kafka.apache.org)是一款分布式消息发布和订阅的系统,具有高性能和高吞吐率. i. 消息的发布(publish) ...

  2. 实现字符串转化为整数函数atoi()函数

    函数原型: int atoi(const char *nptr); 函数说明: 参数nptr字符串,如果第一个非空格字符存在,并且,如果不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数 ...

  3. android 虚拟键盘控制

    软键盘显示的原理 软键盘的本质是什么?软键盘其实是一个Dialog! InputMethodService为我们的输入法创建了一个Dialog,并且将该Dialog的Window的某些参数(如Grav ...

  4. C++ IO流小结

    撒花庆祝下,终于看完了(C++Primer)第一部分,即将进入第二部分! IO部分,最基本的是iostream(istream.ostream),子类有fstream(ifstream.ofstrea ...

  5. ffmpeg 源码分析

    http://blog.csdn.net/liuhongxiangm/article/details/8824761 https://code.google.com/p/ffmpegsource/is ...

  6. ffplay(2.0.1)中的音视频同步

    最近在看ffmpeg相关的一些东西,以及一些播放器相关资料和代码. 然后对于ffmpeg-2.0.1版本下的ffplay进行了大概的代码阅读,其中这里把里面的音视频同步,按个人的理解,暂时在这里作个笔 ...

  7. Python调用打印机参考例子

    参考资料: http://blog.csdn.net/jdh99/article/details/42585987 http://www.oschina.net/question/1438043_23 ...

  8. jquery日期插件datePicker

    index.html <!DOCTYPE html> <html lang="zh-cn"> <head> <meta http-equi ...

  9. Page与Loaded

    When navigate to page, loaded event will be triggered. Back to page, loaded event will be triggered ...

  10. Windows "计划任务"功能设置闹钟~

    相信很多人和我一样在使用电脑时都会遇到这样一个麻烦:不知道如何在windows 中设置一个闹铃.当我们在“开始”菜单的所有程序中找了一遍又一遍,甚至使用Everything.exe做全盘的搜索,都没有 ...