您的位置:首页 > 其它

Sencha-命令-CMD(高级运用)(官网文档翻译32)

2012-12-27 10:38 393 查看

安装注意事项

位置

安装程序允许您选择目标路径,但改变这可能有副作用(请参阅“安装了多个版本”)。在理想的情况下,所有的煎茶Cmd的版本被安装在一个单碱基的版本号命名的子文件夹的文件夹。在Windows上,单用户安装默认的安装文件夹,看起来像这样:

C:\Users\myself\bin\Sencha\Cmd\3.0.0.181\

我们强烈建议,如果你更改此路径,则保留最后一块(即版本号)以及安装在同一父文件夹的任何其他版本的煎茶Cmd的。

安装了多个版本

在命令提示符下,所有到
煎茶
土地的呼叫,在最近安装的版本煎茶Cmd的。有时,这个版本可能与当前应用程序不兼容。

为了支持这样的情况下,煎茶Cmd的外观所需的版本所指定的应用程序所使用的框架。然后,它代表的命令正确版本的煎茶Cmd的。

重要。正常工作,必须安装两个版本,它们的版本号命名的文件夹中,位于在一个共同的父文件夹。

另外,每个已安装的版本也提供了特定版本的名称为煎茶Cmd的。这可以按以下方式运行:

sencha-3.0.0....

...

最后,安装也设置的环境变量的形式,它可以被用于调节当前控制台/壳的PATH
SENCHA_CMD_3_0_0
,如下所示。

在Windows上,这看起来是这样的:

set PATH=%SENCHA_CMD_3_0_0%;%PATH%
sencha ....

.

在OSX / Linux上,这看起来是这样的:

set PATH=$SENCHA_CMD_3_0_0:$PATH
sencha ....

组态

在讨论下面的配置文件之一作为配置选项,可以设置任何参数,可以在命令行上传递给煎茶Cmd的。如果你知道的命令行选项,这是一个简单的事情,到配置文件中添加该选项。

例如,要指定
名称
参数为
煎茶生成的应用程序
的配置,添加下面一行:

sencha.generate.app#name=MyApp

这种特殊的属性是没有意义的,在配置文件中指定的,但它足以说明语法。前
的命令是煎茶由圆点分隔的CMD命令。继
选项名称。

设置全局选项(如
调试
日志记录),这样做:

sencha#debug=true

配置煎茶的CMD(尤其是编译器)的发展随着时间的推移变得越来越重要。

配置文件

配置一个简单的级联应用中的配置文件,发现在煎茶的Cmd的文件夹被称为
“sencha.cfg”
开始。这包含煎茶Cmd的默认配置。该文件中的所有属性加载,如煎茶Cmd的启动。

该基地文件的框架,工作区,最后被加载应用程序配置,并覆盖所有常用的命名属性。这是配置文件的加载顺序:

${cmd.dir}/sencha.cfg


${framework.dir}/sencha.cfg


${workspace.dir}/.sencha/workspace/sencha.cfg


${app.dir}/.sencha/app/sencha.cfg


命令行方式

下面是一些有用的技巧,如果你经常使用的煎茶Cmd的。

最短的唯一前缀

所有的命令,在煎茶Cmd的类别和选项,可以指定其全名或用最短的前缀是唯一。

为了说明这一点,因为
生成
是唯一的顶级煎茶Cmd的类别,目前开始以字母“G”,同样地,
应用程序
是唯一的命令,在该类别中的“A”开始,下面的命令是等价的:

sencha generate app MyApp../MyApp
sencha g a MyApp../MyApp

重要。虽然这可以方便的在控制台或终端,它不是一个很好的做法,在脚本中使用极短的/简洁前缀的。在脚本中使用这种简洁的命令,任何人试图了解或维持脚本在未来造成不必要的混淆,可以打破,如果添加了新的命令的缩写形式暧昧。

命令链

煎茶CMD命令行处理器,直到他们都被派往执行所有的命令。这意味着你能够避免的成本重新启动整个煎茶的CMD进程执行多条命令。要充分利用这一点,插入
然后
在命令之间。

然后
命令是基于上煎茶Cmd和其分层结构的命令和类别的执行模型的。
命令是用来在同一类别的前一个命令执行另一个命令。这是最常见的使用案例。

例如,要生成一个控制器和两个模型,使用此:

cd /path/to/MyApp
sencha generate controller Centraland model User id:intand model Ticket id,name,email

在上文中,两个用途
导致两个
生成模型
要执行的命令。
当时的
命令是类似的,不同之处在于,将下一个命令的根类的一部分(即,的
煎茶
命令)。


例如,下面的命令生成一个新的模型,然后生成应用程序:

cd /path/to/MyApp
sencha generate model User id:int,name then app build

响应文件

当命令链开始的命令行过长是可读的,也许在一个复杂的构建脚本,你可以把一个文件的命令行参数,并告诉煎茶cmd以从该文件中读取参数。

例如:

cd /path/to/MyApp
sencha @file.sencha

在上面的,
“file.sencha”
读取文件的每一行被视为是一个命令行参数,除非该行的开头以“#”,在这种情况下,它被跳过。从指定的文件中的所有行被插入到命令行参数,如果他们已被输入,而不是的
“@ file.sencha”
。这意味着,
“file.sencha”
可以包含响应文件的插入,以及(例如,
“@ file2.sencha”
)。

分类国家

出于性能方面的考虑,某些类别的保持状态跨多重执行命令。最好的例子是新
编译
的命令类别。阅读每个命令的所有的源代码,
编译
类,而不是维护一个高速缓存的类路径中的所有文件。然后此上下文是提供给所有的该种类的命令。

下面的命令重建的
分机,所有dev.js
的ext-all.js
阅读框架源文件,而只有一次:

cd /path/to/MyApp
sencha compile -c sdk/src --debug=true concat -o sdk/ext-all-dev.js \
and--debug=false concat -c -o sdk/ext-all.js

如果您不希望使用这种缓存,也许是因为下一组输出的文件是不一样的,使用
当时的
命令是这样的:

cd /path/to/MyApp
sencha compile -c sdk/src --debug=true concat -o sdk/ext-all-dev.js \
then compile -c app/foo --debug=true concat -o app/foo/foo-all.js

目前,只有
编译
类之间保持状态的命令。

插件

而同样的煎茶Cmd的安装使用Ext JS的煎茶触摸,有很多次,当命令执行稍微不同操作的框架。此外,有些命令可能只提供一个框架。

为了适应这种情况,煎茶Cmd的功能是跨两个层:命令行(适当称为“煎茶Cmd的”)和较低级别的接口,用于在蚂蚁分配 。有这些特别关注的问题的命令在命令行路由到一个插件。



一个煎茶的Cmd的插件是一个Ant脚本中包含在一个文件中称为
“plugin.xml中”
,但对于任何给定的命令,执行中的应用程式或工作区,有可能几个活跃的插件。

这个过程开始寻找最具体的插件。搜索是这样的:

${app.dir}/.sencha/app/plugin.xml


${workspace.dir}/.sencha/workspace/plugin.xml


${cmd.dir}/plugins/${framework.name}/${framework.plugin.version}/plugin.xml


${cmd.dir}/plugin.xml (also known as the "default plugin")


这些被发现的第一个,将根据当前目录。煎茶CMD将只加载该插件,并调用的命令,它被赋予特定目标的基础。然而,这些插件包含的Ant调用需要加载插件的下一级。例如,如果应用程序插件,它包含了
进口
的工作区插件。该插件包含一个
进口
的框架插件,最后,它包含一个
进口
的默认插件。

扩展点

从技术上讲,最低的两个级别(框架和默认的插件)是唯一含有实际的代码的插件。应用程序和工作区插件默认为空,但存在的这些内置的命令,以便用户扩展。这样做的目的是为了让你添加逻辑来执行项目或应用程序代码生成请求作出煎茶Cmd的标准。

如果你要检查,看看是否新的模型定义按照项目指南,说的第一个字段是
ID:字符串
,你可以添加这样应用程序或工作区
“plugins.xml”的


<targetname="-before-generate-model"><if><not><matchesstring="${args.fields}"pattern="^id\:string,.*"/></not><then><fail>Models must have "id:string" as first field.</fail></then></if></target>

同样,你也可以提供一个钩子时添加了一种新的模式来更新其他系统。

<targetname="-after-generate-model">
... post new/updated Model ${args.name} and ${args.fields} ...
</target>

实际目标的名称会略有不同,根据你扩展的插件。有关细节,请咨询各自
的plugin.xml“
文件中的注释。

注:默认
“的plugin.xml”
文件导入蚂蚁的contrib 提供了许多有用的任务

在Ant中使用

煎茶Cmd的主要用途是在命令行(因此而得名),煎茶Cmd的,也可用于直接从Ant。在这个级别的许多命令的详细信息,请参阅的Ant集成指南。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: