sencha app watch php,使用新的SenchaCmd4命令appwatch
原文: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的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Spring Cloud中统一异常处理
- 下一篇: 计算机操作系统学习笔记----进程管理
