原文地址:
原文标题:ExtJS 4.2 app with custom Neptune-based theme using Cmd 3.1
这是痛苦还是什么?
今天,这已经是第三次尝试使用CMD来生成的Ext JS 4.1应用程序骨架了,终于成功为一个应用程序自定义了基于新的海王星的主题。
以下是实现过程。
第一个要跨越的障碍是:请确保已经安装了最新的配合使用的CMD和Ext JS框架。
本文所使用的是ext-4.2.0.663和Sencha Cmd 3.1.0.256。
任何其他的组合,包括使用Ext JS 4.2论坛上截至bizare之前发布的任何beta版本,由Cmd生成的应用程序都会导致失败。
本文所使用的环境是Mac(OS X),因此,把Cmd安装到了 \Users\hjones\bin\Sencha\Cmd目录,并将Ext JS框架解压到了\Users\hjones\bin\Sencha\sdk目录。
然后,进入dev项目空间(通常是\Users\hjones\dev),并输入以下命令:
[javascript]
  1. cd \Users\hjones\dev  
  2. sencha -sdk \Users\hjones\bin\Sencha\sdk\ext-4.2.0.633 generate app Foo foo  
这将告诉Cmd使用sdk指定的目录下的Ext JS 4.2.0去生成一个新的应用程序(项目),并将应用程序命名为Foo(也可以使用其他名称),且将应用程序的生成文件放到foo目录下。
注意:使用早期(beta版本)的Ext JS 4.2会像以下哪样,导致生成失败:
[javascript]
  1. [ERR] Theme ext-theme-classic not found  
  2. [ERR]   
  3. [ERR] BUILD FAILED  
  4. [ERR] com.sencha.exceptions.ExNotFound: Required packages not found  
  5. [ERR]   
  6. [ERR] Total time: 1 second  
  7. [ERR] com.sencha.exceptions.ExNotFound: Required packages not found  
这里没有任何造成失败的线索,尽管开启了-debug。在Sencha Cmd论坛上也没有回复。
如果使用了正确的Cmd和Ext JS 4.1组合,那么现在可以在dev下的foo文件夹进行开发了。
移动到该文件,使用以下Cmd命令来生成一个自定义主题:
[javascript]
  1. cd foo  
  2. encha generate theme huw  
在眨眼的功夫下,就提示返回了。现在,在packages目录下,已经为新的主题生成了基本的资源配置。
[javascript]
  1. cd packages\huw  
编辑package.json文件,将以下这行:
[javascript]
  1. "extend""ext-theme-classic"  
修改为:
[javascript]
  1. "extend""ext-theme-neptune"  
返回应用程序的根目录:
[javascript]
  1. cd \Users\hjones\dev\foo  
现在需要做的是告诉Cmd,需要使用新的自定义的主题。
要实现这个,就要重新生成bootstrap.css,以便将css的指向修改为自定义主题。
编辑以下这个文件:/Users/hjones/dev/foo/.sencha/app/sencha.cfg
并修改键-值为:
[javascript]
  1. app.theme=huw #ext-theme-classic  
现在,当生成应用程序时,它会生成主题并将项目根目录下的index.html和主题间接的连接起来(bootstrap.css)。
[javascript]
  1. sencha app build  
  2.  open index.html  
最后的命令将打开使用了海王星主题为骨架的应用程序。
谢天谢地!
PS。 不幸的是,这段经历已经成为笔者处理不同的Sencha项目生成器的迭代的常态。这已经严重的令笔者开始质疑或怀疑多年来推荐Sencha项目的决定。笔 者只是希望这问题能尽快的稳定下来,这体验绝对低于标准杆。笔者也很讨厌做JAVA堆栈跟踪器的喷子,但在使用的工具前跌倒的时候这不可避免,尤其是真实 信息被隐藏在调试选项背后的时候。
作者:
译 者评:看了一下Ext JS 4.2目录,改变还是比较大的,文档也在重新制作中,因而,急于使用Ext JS 4.2的开发人员要小心了,真的要慎重考虑。译者的看法是,4.2目前还不是稳定版本,只是一个里程碑的版本,估计后面还好有大的修改,尤其是要配合 Cmd做修改。