原文:http://www.sencha.com/blog/using-the-new-app-watch-command-in-sencha-cmd-4/

作者:Don Griffin

Don Griffin is a member of the Ext JS core team. He was an Ext JS user for 2 years before joining Sencha and has over 20 years of software engineering experience on a broad range of platforms. His experience includes designing web application front-ends and back-ends, native GUI applications, network protocols and device drivers. Don’s passion is to build world class products that people love to use.

“sencha app watch”命令也许是在Sencha Cmd 4中引入的最大的新功能,该命令可大大简化进行小的修改和查看他们运行几秒后的持续过程。在本篇文章,将介绍app watch命令的基本操作以及如何自定义它的基本行为。

在app watch之前

在之前版本的Sencha Cmd,命令只执行单一的任务并在完成后退出。而日常任务可归结为三个常用的命令,可根据你的需要进行更改:

sencha app refresh:可在添加类、删除类或更改类名后运行。它会通过Ext.Loader来更新bootstrap文件。sencha ant sass:该命令会根据Sass源代码重新生成CSS文件。它可在任何scss文件改变后运行。在Ext JS 4.1种,还可以使用compass watch通过检测文件系统的改变来更新Sass。sencha app build:执行所有生产步骤(如上面的sass步骤)。除了这之外,它还会复制资源文件到build/resources文件夹。如果对资源、Sass或其他东西进行更改,一个完整的生成通常是最好的选择。如果认为这些生成步骤并不是所需的,可通过选项“skip.slice=1”或“skip.sass=1”来设置。

由于在Ext JS 4.2和主题包的引入,compass watch再也理解不了主题的结构,这让sencha ant sass成了生成Sass的唯一选择。但是,sass的生成步骤,会强制执行一个完整生成且比compass watch慢许多倍。

App watch介绍

要满足所有由Sencha Cmd包和主题包提供的灵活性,一个更聪明的compass watch是必需的。即使compass watch可以工作,但也只是工作流的一部分而已。理想的过程是可以管理所有的这些特设步骤并能确保物流是否需要,都能使应用程序的加载做到尽可能的快。

解剖应用程序

为了了解应用程序是如何工作的,将应用程序分解为基本部件非常有用:Javascript、样式(Sass)和资源(类似图片之类的东西)。Sencha框架(Ext JS和Sencha Touch)包含了相同的为主题所做的混合物。在Sencha Cmd,这种重复结构(Javascript、Sass、资源)被封装为包。

生成过程会从框架、所选择的主题(包括基本主题)和其他所需的包中获取这些片段并将他们与应用程序源代码结合起来编译应用程序。Sencha Cmd会利用这一过程的信息来启用应用程序的开发模式加载。换句话说,生产的副产品之一是,它会从应用程序的源代码获取到支持应用程序加载所需的数据。

(这段比较难理解,我直接给出原文:

he build process takes these pieces from the framework, the selected theme (and its base themes) and any other required packages and combines them with the application sources to produce the compiled application. Sencha Cmd leverages the information from this process to enable “development mode” loading of your application. In other words, one of the by-products of a build is that it gets the data needed to support loading your app directly from its sources.)

监视文件系统

为了能有效的维护这些信息,这里利用了Java 7监视文件系统变化的能力基于这个功能,app watch可以监控以下事情:

应用程序的源代码(app文件夹)应用程序的Sass代码(sass文件夹)应用程序的资源(resources文件夹)主题包的源代码、Sass和资源(src、sass和resources)主题的基本主题的source、Sass和resources文件夹应用程序所要求的所有包的source、Sass和resources(在app.json文件中)其他包(包括主题包)所需的所有包的source、Sass和resources(在package.json文件中)

为了准备好监控所需的东西,app watch启动时会为一个正常生成执行许多相同的步骤。。在生成阶段,所有以上提及的位置都会被关注,然后app watch会暂停而不是终止来监视文件系统的变化。

当文件夹的内容发生改变的时候,app watch会检测到变化并执行一套特别的生产步骤。一旦完成这些步骤,app watch又会暂停并等待更多的文件系统变化。根据不同的机器情况,大多数更改的周转时间大约是5秒(可能更少)。

不监视的文件

当应用程序的内容或所有它所需的包正在被监视的时候,这些东西的配置文件在当前并不会被监视。如果修改了app.json、package.json或不同的sencha.cfg中的一个,就需要停止(CTRL+C)并重新启动app watch。

第一步类似通常的sencha app build,不过在生成完成之后,app watch将会接管并显示“waiting for changes…(等待变化)”

一旦app.js保存后发生改变,app watch就会显示“triggering build…(触发生成)”

区别在于,该“生产”会完成进入待发状态,并只需要几秒钟。完成后,又会看到“waiting for changes…”信息并继续循环。

app watch内部一瞥

App watch的机制大部分是在创建的生成脚本中实现的。这意味着可以自定义这些步骤。虽然所采取的具体步骤Ext JS应用程序和Sencha Touch应用程序会有所不同,但基本结构是一样的。要查看更详细的信息,可以查看由主生成脚本“build.xml”导入的.sencha/app/watch-impl.xml文件。如果想了解更多有关生成脚本的信息,可参阅Sencha Cmd文档。

sencha app watch php,使用新的SenchaCmd4命令appwatch相关推荐

  1. sencha app refresh

    版本说明: Ext 4.2.1 cmd 5.0.3 1. sencha app refresh的作用是,重新生成bootstrap.js文件,如下图所示: 2. bootstrap.js 三个作用: ...

  2. sencha app watch php,Sencha Cmd使用指南

    查看Cmd版本 使用 sencha 命令查看当前cmd版本信息 sencha 显示如下 Sencha Cmd v6.1.2.15 Sencha Cmd provides several categor ...

  3. sencha app watch php,Sencha Touch构建移动端App

    Sencha Touch是什么 Sencha Touch是专门用于移动应用开发的JavaScript框架,也是第一个基于HTML5的移动应用框架,其前身是Ext.使用Sencha Touch,开发者可 ...

  4. sencha app watch php,Sencha Cmd 命令及 ExtJs 应用的调试工具

    Sencha Cmd 命令格式 sencha [category] [command] [option...] [arguments...] 帮助信息 sencha help 会列出所有的分类,顶层命 ...

  5. 200元/天的APP充场拉新项目可以做吗?

    昨天学员发了一张截图给我,说在某QQ群看到这样一则招聘广告,想周末去应聘试试,问我靠谱不? 仔细一看,这不就是近一两年异常火爆的APP充场拉新项目的线上统一招聘模板吗?此前也很多学员私下问过我这个项目 ...

  6. QQ多年IM技术沉淀赋能APP私域社交新体验

    ​APP私域社交新生态 公域流量越来越贵的背景下,金融机构开始主动拥抱私域, 充分挖掘APP私域潜力,深挖服务场景,加强客户连接, 深耕客户体验,强化社交联系. QQ多年IM技术沉淀赋能APP 私域社 ...

  7. 重大新闻:借贷宝不用绑卡了,借贷宝APP推出肖像识别新功能!

    动动手指,20元人民币立即到手:http://www.cnblogs.com/mfryf/p/4754384.html 滴滴打车烧钱十几个亿,狂送打车券,很多人天天免费坐车! 去年年初百度钱包注册奖励 ...

  8. 使用新的 apt 命令在 Ubuntu 16.04 LTS 下管理软件包

    前文 Ubuntu 16.04 新特性中 我们已经介绍过,随着 Ubuntu 16.04 LTS 的发布,Ubuntu 的软件包管理命令也发生了变化,新系统采用了 Debian 项目中所使用的 APT ...

  9. sencha app watch php,我的第一个基于SenchaTouch的WebApp

    经过进一周的各种折腾,各种想放弃,各种纠结,最终还是顺利的完成了SenchaTouch的开发,回想起来感觉"甜甜的",也充分体会到Sencha MVC开发模式的好处,以及Sench ...

最新文章

  1. 打开CMDLINE中的 ” earlyprink “ 参数
  2. 目标检测 nms非极大抑制算法
  3. Date类+DateFormat
  4. 商户网站使用第三方支付的大致原理和实现
  5. 推荐 -- 极客导航,让工作学习更有效率
  6. nandflash与文件系统,oob区数据扫盲。后面还会补充实际生产烧录的心得体验,依据不同的文件系统
  7. 排座椅(洛谷-P1056)
  8. 95-190-640-源码-窗口操作符-WindowOperator
  9. paip.软件及网站项目开发效率低下的思索与改进
  10. JAVA 线程池的分析和使用
  11. 再见了Antirez永远的Redis之神
  12. 泽众AutoRunner软件的使用方法,以测试win10环境下系统自带的计算器为例
  13. php 微信支付跳不出来的,微信公众号 微信支付跳转空白
  14. 考研复试问题集锦——数据库
  15. matlab 开4次方根,matlab中计算四次方方程a*x^4+b*x+c=0的实数根.
  16. 这几个 GitHub 项目真带劲
  17. Halcon实战 项目二 Bolb实战分析-提取图片中的硬币
  18. 微信小程序云开发及背后的云服务支持。
  19. arm64服务器性能,80核ARM服务器有多恐怖 性能比64核霄龙还强
  20. 风险预测模型_慢性肾脏病孕妇妊娠风险预测模型的构建及验证

热门文章

  1. java npv_java 实现Excel irr计算(改进版)
  2. 京东青龙上车教程保姆级别讲解为什么上车以及详细开活动教程
  3. 学生网页作业:商城网站设计——仿天猫商城(9页) HTML+CSS大作业_ 网页制作作业_疫情防控网页设计...
  4. 英语语音篇 - 自然拼读
  5. Python实现excel表格合并
  6. SQL执行计划--HIT、SQLPLAN
  7. 程序运行产生SIGABRT信号的原因
  8. DELL灵越笔记本插上耳机后,只有外放耳机无声音的解决方法。
  9. opencv倾斜校正 java,OpenCV实现基于傅里叶变换的旋转文本校正
  10. c语言中ANSI标准的关键字,C语言中32个关键字详解