文档帮助

术语、图标和标签

许多类在使用配置对象创建(实例化)类时都有快捷名称。快捷名称被称为 alias(如果类扩展了 Ext.Component,则为 xtype)。别名/xtype 列在适用类的类名旁边,以供快速参考。

访问级别

框架类或其成员可以指定为 privateprotected。否则,类/成员为 publicPublicprotectedprivate 是访问描述符,用于传达类或类成员应如何以及何时使用。

成员类型

成员语法

下面是一个示例类成员,我们可以对其进行剖析,以展示类成员的语法(在这种情况下,从 Ext.button.Button 类查看的 lookupComponent 方法)。

让我们看一下成员行的每个部分

  • 展开/折叠 - 在成员行的左侧是一个控件,用于展开和折叠每个成员行以显示/隐藏成员详细信息。
  • 成员名称 - 类成员的名称(在本例中为 lookupComponent
  • 方法参数 - 方法使用的任何必需或可选参数(或传递给事件处理程序方法的参数)将列在方法名称旁边的括号内(在本例中为 ( item )
  • 返回类型 - 方法或属性返回的类实例或 javascript 对象(在本例中为 Ext.Component)。对于除了 undefined 之外不返回任何内容的方法,或者可能显示为用斜杠 / 分隔的多个可能值,则可以省略此项,这表示返回的内容可能取决于方法调用的结果(即,如果 get 方法调用成功,则方法可能返回 Component,如果失败,则返回 false,这将显示为 Ext.Component/Boolean)。
  • 标志 - 适用于成员的任何标志都将显示在旁边(在本例中为 PROTECTED - 请参阅下面的标志部分)
  • 成员来源 - 在成员行的右侧是最初描述成员的类(在本例中为 Ext.container.Container)。如果成员源自当前类,则源类将显示为蓝色链接;如果它从祖先类或混合类继承,则显示为灰色链接。
  • 成员源代码 - 在成员来源类右侧下方是查看成员源代码的链接(示例中的 view source
  • 参数列表 - 类方法的每个参数都将使用上面括号中找到的相同名称、预期的类或对象类型以及参数的描述列出(示例中的 item : Object)。
  • 返回值 - 如果类返回 undefined 以外的值,则“返回值”部分将注释返回的类或对象类型以及描述(示例中的 Ext.Component
  • 始于 (Since)示例中未显示)- 某些成员将显示成员首次引入的产品版本(即 Available since 3.4.0 - 示例中未显示),就在成员描述之后
  • 默认值 (Default)示例中未显示)- 配置通常显示要应用于类实例的默认配置值(如果未被覆盖)(即 Defaults to: false

成员标志

API 文档使用许多标志来进一步沟通类成员的功能和意图。标签可以用文本标签、缩写或图标表示。

  • 必需 (Required) - 实例化类时必需的配置
  • 可绑定 (Bindable) - 配置具有 setter,允许通过 ViewModel 绑定设置此配置
  • 只读 (Read Only) - 属性可以读取,但不能用于在运行时配置/重新配置类实例
  • 单例 (Singleton) - 单例类在定义后立即实例化,不能手动实例化
  • 静态 (Static) - 静态方法或属性是属于类本身的方法或属性,而不是类的实例
  • 可链式调用 (Chainable) - 指的是在调用时返回类实例的方法。
    这使得可以进行链式方法调用,例如:classInstance.method1().method2().etc();
  • 已弃用 (Deprecated) - 计划在未来框架版本中删除的类或成员,并在当前版本中提供以实现向后兼容性。
    已弃用的类和成员将包含一条消息,指导您使用首选的类/方法。
  • 已移除 (Removed) - 已移除的类或成员,仅在文档中作为在框架版本之间升级的用户的参考存在
  • 模板 (Template) - 在基类中定义的方法,旨在被子类覆盖
  • 抽象 (Abstract) - 类或成员可以定义为抽象的。抽象类和成员建立类结构并提供有限的(如果有的话)代码。特定于类的代码将通过子类中的覆盖来提供。
  • 可阻止 (Preventable) - 如果从事件处理程序返回 false,则标记为可阻止的事件将不会触发

类图标

- 表示框架类

- 单例框架类。*有关更多信息,请参阅单例标志

- 组件类型框架类(Ext JS 框架中扩展 Ext.Component 的任何类)

- 表示类、成员或指南在当前查看的版本中是新的

成员图标

- 表示 config 类型的类成员

- 表示 property 类型的类成员

- 表示 method 类型的类成员

- 表示 event 类型的类成员

- 表示 theme variable 类型的类成员

- 表示 theme mixin 类型的类成员

- 表示类、成员或指南在当前查看的版本中是新的

类成员快速导航菜单

在 API 文档页面上的类名下方,是一行按钮,对应于当前类拥有的成员类型。每个按钮显示按类型划分的成员计数(此计数会随着应用过滤器而更新)。单击按钮将导航到该成员部分。将鼠标悬停在成员类型按钮上将显示该类型的所有成员的弹出菜单,以便快速导航。

Getter 和 Setter 方法

与类配置选项相关的 Getter 和 Setter 方法将显示在方法部分以及 API 文档和成员类型菜单的配置部分中,就在它们所作用的配置下方。Getter 和 Setter 方法文档将在配置行中找到,以便于参考。

历史记录栏

您的页面历史记录保存在本地存储中,并显示在顶部标题栏下方(使用可用的实际空间)。默认情况下,显示的唯一搜索结果是与您当前查看的产品/版本匹配的页面。您可以通过单击历史记录栏右侧的 按钮并选择“全部 (All)”单选选项来展开显示的内容。这将显示所有产品/版本的所有最近页面历史记录栏。

在历史记录配置菜单中,您还将看到最近页面访问的列表。结果按“当前产品/版本 (Current Product / Version)”和“全部 (All)”单选选项进行过滤。单击 按钮将清除历史记录栏以及本地存储中保存的历史记录。

如果在历史记录配置菜单中选择“全部 (All)”,则将启用“在历史记录栏中显示产品详细信息 (Show product details in the history bar)”复选框选项。选中后,每个历史页面的产品/版本将与历史记录栏中的页面名称一起显示。将光标悬停在历史记录栏中的页面名称上也会将产品/版本显示为工具提示。

搜索和过滤器

可以使用页面顶部的搜索字段搜索 API 文档和指南。

在 API 文档页面上,还有一个过滤器输入字段,该字段使用过滤器字符串过滤成员行。除了按字符串过滤外,您还可以按访问级别、继承和只读来过滤类成员。这可以使用页面顶部的复选框来完成。

API 类导航树底部的复选框过滤类列表,以包含或排除私有类。

单击空的搜索字段将显示您最近 10 次搜索,以便快速导航。

API 文档类元数据

每个 API 文档页面(JavaScript 原始类型页面除外)都有一个与该类相关的元数据菜单视图。此元数据视图将具有以下一项或多项

  • 别名 (Alternate Name) - 一个或多个附加的类名同义词(在 Ext JS 6.0.0 中,Ext.button.Button 类具有 Ext.Button 的别名)。别名通常是为了向后兼容性而维护的。
  • 继承层次结构 (Hierarchy) - 继承层次结构视图列出了当前类的继承链,一直到其祖先类,直到根基类。
  • Mixins - 混合到当前类中的类列表
  • 继承的 Mixins (Inherited Mixins) - 混合到当前类的祖先类中的类列表
  • 需要 (Requires) - 类实例化所需定义的所有类
  • 使用 (Uses) - 类在其生命周期的某个时刻可能使用的类列表,但不一定是类最初实例化所必需的
  • 子类 (Subclasses) - 扩展当前类的类

展开和折叠示例和类成员

可运行的示例 (Fiddles) 默认在页面上展开。您可以使用代码块左上角的箭头单独折叠和展开示例代码块。您还可以使用页面右上角的切换按钮切换所有示例的折叠状态。切换所有状态将在页面加载之间记住。

类成员默认在页面上折叠。您可以使用成员行左侧的箭头图标或全局使用右上角的展开/折叠全部切换按钮来展开和折叠成员。

桌面 -vs- 移动视图

在较窄的屏幕或浏览器上查看文档将导致针对较小外形尺寸优化的视图。桌面和“移动”视图之间的主要区别是

  • 全局导航将位于左侧菜单中,可通过汉堡菜单图标访问。菜单包含以下内容(在大多数页面上)
    • 当前产品的名称(作为指向产品着陆页的链接)
    • 用于导航回文档主页的 Sencha 图标
    • 产品菜单下拉按钮
    • API 文档和指南的导航树选项卡
  • 当前上下文导航和工具位于右侧,可通过齿轮图标访问。上下文菜单包含以下内容
    • 全局搜索输入字段
    • API 文档)带有成员过滤器、“展开/折叠所有示例”按钮、“展开/折叠所有成员行”按钮、访问级别过滤器复选框以及每个成员计数的“过滤器 (Filters)”选项卡
    • API 文档)包含与当前类相关的元数据菜单的“相关类 (Related Classes)”选项卡
    • 指南)指南的目录

查看类源代码

可以通过单击 API 文档页面顶部的类名来查看类源代码。可以通过单击成员行右侧的“查看源代码 (view source)”链接来查看类成员的源代码。

Cmd 7.8.0


顶部

目录

sencha ant Options Syntax Where: sencha app Commands sencha app build Using Ant Options Syntax sencha app clean Syntax sencha app emulate Options Syntax sencha app explain Options Syntax sencha app init Options Syntax sencha app install Options Syntax sencha app prepare Options Syntax sencha app publish Options Syntax sencha app refresh Options Syntax sencha app run Options Syntax sencha app upgrade Options Syntax sencha app watch Options Syntax sencha audit Syntax sencha build Options Arguments Syntax sencha compile Options Commands sencha compile concatenate Options Syntax sencha compile exclude Options Syntax sencha compile explain Options Syntax sencha compile include Options Syntax sencha compile intersect Options Syntax sencha compile metadata Options Data Type Format Misc Syntax sencha compile page Options Syntax sencha compile pop Syntax sencha compile push Syntax sencha compile require Options Syntax sencha compile restore Syntax sencha compile save Syntax sencha compile show-ignored Syntax sencha compile union Options Syntax sencha config Options Syntax sencha cordova Commands sencha cordova init Syntax sencha diag Commands sencha diag export Syntax sencha diag show-props Syntax sencha framework Commands sencha framework add Options Syntax sencha framework list Syntax sencha framework remove Options Syntax sencha framework upgrade Options Syntax sencha fs Categories Commands sencha fs concatenate Options Syntax sencha fs difference Syntax sencha fs minify Options Syntax sencha fs mirror Commands sencha fs mirror all Options Syntax Where: sencha fs mirror image Options Syntax Where: sencha fs mirror sprite Options Syntax Where: sencha fs slice Options Syntax sencha generate Commands sencha generate app Options Syntax sencha generate controller Options Syntax sencha generate form Options Syntax sencha generate model Options Syntax sencha generate package Options Syntax sencha generate profile Options Syntax sencha generate theme Options Syntax sencha generate view Options Syntax sencha generate workspace Options Syntax sencha help Example Syntax Where: sencha js Files Context Syntax sencha manager Categories sencha manager version Commands sencha manager version create Options Syntax sencha manifest Commands sencha manifest create Options Syntax sencha package Using Packages Authoring Packages Commands sencha package add Syntax Where: sencha package build Options Syntax sencha package extract Options Syntax Where: sencha package get Options Syntax Where: sencha package install Options Syntax Where: sencha package list Syntax Where: sencha package remove Syntax Where: sencha package upgrade Options Syntax sencha phonegap Commands sencha phonegap init Syntax sencha repository Remote Repositories Authoring Packages Commands sencha repository add Options Syntax sencha repository init Private Key Remote Access Options Syntax sencha repository list Syntax sencha repository remove Options Syntax sencha repository show Options Syntax Where: sencha repository sync Options Syntax sencha switch Options Syntax sencha template Commands sencha template apply Options Syntax sencha template info Options Syntax sencha template list Syntax sencha template read Options Syntax sencha theme Commands sencha theme build Options Syntax sencha theme capture Options Syntax sencha theme slice Options Syntax sencha upgrade Options Syntax sencha web Options Commands sencha web start The Web Root Options Syntax sencha web stop Syntax sencha which Options Syntax sencha workspace Commands sencha workspace cleanup Options Syntax sencha workspace init Syntax sencha workspace install Options Syntax sencha workspace upgrade Options Syntax

Sencha Cmd CLI 参考

sencha ant

调用 Apache Ant 的嵌入版本,提供 cmd.dir 属性以使用以下 taskdef 访问 Sencha Cmd

<taskdef resource="com/sencha/ant/antlib.xml"
         classpath="${cmd.dir}/sencha.jar"
         loaderref="senchaloader"/>

即使此命令不符合正常的 Sencha Cmd 参数语法,它也能识别 Ant 使用的 -Dproperty=value 语法属性。与直接调用 Ant 类似,此命令默认为 "build.xml" 作为脚本文件,并基于当前目录或传递给 sencha-cwd 开关的值进行搜索。

例如,以下命令使用 "../build.xml" 作为脚本,并在执行默认目标时(因为未指定目标)传入 foo 属性作为 "42"。

sencha -cwd=.. ant -Dfoo=42

选项

  • --debug, -d - 启用 Ant 调试级别消息
  • --file, -f - 要执行的 Ant 文件(默认为 build.xml)
  • --props, -p - Ant 脚本的一个或多个属性 (name=value,...)
  • --target, -t - 要从 Ant 脚本执行的目标(逗号分隔)
  • --verbose, -v - 启用 Ant 详细级别消息

语法

sencha ant [options] targets...

位置:

  • targets - 要执行的 Ant 脚本目标

sencha app

此类别包含用于应用程序管理的各种命令。

命令

  • build - 执行应用程序的构建过程
  • clean - 清理应用程序以进行构建
  • emulate - 通过 Packager 构建应用程序,然后在模拟器/仿真器中执行
  • explain - 将应用程序入口文件中的引用路径解析为指定的符号
  • init - 将当前目录初始化为 Sencha Cmd 应用程序。
  • install - 重新填充 Sencha Cmd 应用程序支架的缺失部分
  • prepare - 构建应用程序,然后 Packager 准备应用程序以进行本机构建(仅限 cordova)
  • publish - 将应用程序版本发布到 Sencha Web Application Manager。
  • refresh - 更新应用程序元数据(又名“引导”)文件
  • run - 通过 Packager 构建应用程序,然后在设备上执行
  • upgrade - 将当前应用程序升级到指定的 SDK
  • watch - 监视应用程序的文件系统更改并重新构建。

sencha app build

此命令构建当前应用程序。

sencha app build [production|testing|native|package]

这将以当前配置构建您的应用程序,并在 "build/<environment>" 文件夹中生成构建输出。此位置和许多其他属性可以在您的应用程序配置文件 ".sencha/app/sencha.cfg" 或提供的构建脚本 "build.xml" 中配置。

为了本地覆盖构建属性,构建脚本会加载一个可选的属性文件 "local.properties"(如果它存在于您的应用程序文件夹中)。此文件的目的是定义在某种程度上对本地环境(即本地机器)特殊的构建属性。因此,此文件不应在源代码控制中跟踪。

使用 Ant

此命令等效于直接运行提供的 Ant 脚本,使用以下命令

sencha ant [production|testing|native|package] build

要调整此过程,请首先查看您的应用程序文件夹中生成的 "build.xml"。实际的构建逻辑位于 ".sencha/app/build-impl.xml" 中。

如果许多持续集成 (CI) 系统理解 Apache Ant(大多数都理解),则可以使用 "build.xml" 脚本。如果 CI 系统不理解 Ant,则可以使用 Sencha Cmd 命令行,就像您在开发期间一样。但是,如果 CI 系统理解 Ant,则通常使用该集成比使用命令行调用更方便。

选项

  • --archive, -a - 存储所有先前构建的目录路径。
  • --build, -build - 选择在 app.json 的 'builds' 集中指定的构建名称,用于构建
  • --clean, -c - 在执行构建之前删除先前的构建输出
  • --destination, -des - 构建输出写入的目录
  • --development, -dev - 将构建环境设置为:development
  • --environment, -e - 构建环境,可以是 'development'、'testing' 或 'production'
  • --fashion-debug, -fashion-d - 在运行 fashion 构建时启用/禁用 node dev tools。
  • --fashion-symbols, -fashion-s - 在 scss 代码中启用/禁用堆栈跟踪。
  • --locale, -l - 选择要用于构建的 app.locale 设置
  • --packages, -pac - 仅构建 app.json 的 "uses" 属性中指定的一个或多个包
  • --pkg-environment, -pkg- - 使用包的构建环境,可以是 'development'、'testing' 或 'production'
  • --pkgdevelopment, -pkgd - 将使用包的构建环境设置为:development
  • --pkgproduction, -pkgp - 将使用包的构建环境设置为:production
  • --pkgtesting, -pkgt - 将使用包的构建环境设置为:testing
  • --production, -pr - 将构建环境设置为:production
  • --run, -r - 启用自动运行带有本机打包程序的构建
  • --testing, -te - 将构建环境设置为:testing
  • --theme, -th - 选择要用于构建的 app.theme 设置
  • --uses, -u - 构建此应用程序动态使用的包(请参阅 app.json 上的 "uses")

语法

sencha app build [options] [theme|locale|build]... [environment]

sencha app clean

语法

sencha app clean [theme|locale|build]...

sencha app emulate

选项

  • --archive, -a - 存储所有先前构建的目录路径。
  • --build, -build - 选择在 app.json 的 'builds' 集中指定的构建名称,用于构建
  • --clean, -c - 在执行构建之前删除先前的构建输出
  • --destination, -des - 构建输出写入的目录
  • --development, -dev - 将构建环境设置为:development
  • --environment, -e - 构建环境,可以是 'development'、'testing' 或 'production'
  • --locale, -l - 选择要用于构建的 app.locale 设置
  • --packages, -pac - 仅构建 app.json 的 "uses" 属性中指定的一个或多个包
  • --production, -pr - 将构建环境设置为:production
  • --run, -r - 启用自动运行带有本机打包程序的构建
  • --testing, -te - 将构建环境设置为:testing
  • --theme, -th - 选择要用于构建的 app.theme 设置
  • --uses, -u - 构建此应用程序动态使用的包(请参阅 app.json 上的 "uses")

语法

sencha app emulate [options] [theme|locale|build]... [environment]

sencha app explain

选项

  • --build, -build - 选择在 app.json 的 'builds' 集中指定的构建名称,用于构建
  • --development, -d - 将构建环境设置为:development
  • --environment, -e - 构建环境,可以是 'development'、'testing' 或 'production'
  • --locale, -l - 选择要用于构建的 app.locale 设置
  • --production, -pr - 将构建环境设置为:production
  • --target-name, -ta - 解析引用路径时要使用的目标符号名称
  • --testing, -te - 将构建环境设置为:testing
  • --theme, -th - 选择要用于构建的 app.theme 设置

语法

sencha app explain [options] [theme|locale|build]... [targetName]

sencha app init

此命令将当前目录初始化为 Sencha Cmd 应用程序。

重要提示:在初始化应用程序之前,需要 Sencha 框架或 SDK。这可以是试用版或许可版本,例如从 Sencha 支持门户下载的商业许可版本。以下示例将假定所需的 Sencha 框架已下载并解压缩到主目录 ("~/sencha-sdks") 中的 "sencha-sdks" 文件夹中。

要使用 Ext JS 6.5.0 初始化应用程序,在如上所述解压缩 zip 文件后

$ sencha app init --frameworks=~/sencha-sdks [email protected] --universal MyApp

frameworks 开关指定一个文件夹,其中解压缩了多个 Sencha 框架并准备好使用。ext 开关从此目录中选择所需的版本。

要仅使用 Classic 或 Modern 工具包初始化应用程序

$ sencha app init --frameworks=~/sencha-sdks [email protected] --modern MyApp
$ sencha app init --frameworks=~/sencha-sdks [email protected] --classic MyApp

必须指定 --classic--modern--universal 开关之一。

该应用程序在首次构建之前将无法运行

sencha app build --dev

有关构建的更多信息,请参阅 sencha help app build

为了简化此过程,您可以配置 Sencha Cmd 以始终使用 "~/sencha-sdks" 中的框架,方法是运行以下命令

$ sencha config --prop sencha.sdk.path=~/sencha-sdks --save

执行上述命令后,init 命令简化为

$ sencha app init [email protected] --universal MyApp

有关设置 Sencha Cmd 开关和其他配置选项的更多信息,请查阅 Web 上的“高级 Sencha Cmd”指南

https://extjs.cn/cmd/guides/advanced_cmd/cmd_advanced.html#advanced_cmd-_-cmd_advanced_-_configuration_files

选项

  • --ext, -e - 要使用的 Ext JS 框架的路径
  • --frameworks, -f - 包含多个框架版本的目录路径,用于恢复(如果存在于 workspace.json 中)
  • --name, -n - 应用程序名称
  • --starter-dir, -s - 指定要用作启动器应用程序模板的目录
  • --template-name, -t - 指定要用作应用程序模板的包名称

语法

sencha app init [options] name

sencha app install

install 命令将重新填充 Sencha Cmd 应用程序支架的缺失部分,例如那些通常不存储在版本控制系统中的部分(例如,Sencha 框架)。

重要提示:在应用程序上运行此命令之前,需要 Sencha 框架或 SDK。所需的框架取决于应用程序使用的版本。这通常是商业许可版本,可以从 Sencha 支持门户下载。以下示例假定必要的 Sencha 框架已下载并解压缩到主目录 ("~/sencha-sdks") 中的 "sencha-sdks" 文件夹中。

要在从源代码控制新下载应用程序后(以及在如上所述解压缩框架之后)重新填充应用程序

$ sencha app install --frameworks=~/sencha-sdks

为了简化此过程,您可以配置 Sencha Cmd 以始终使用 "~/sencha-sdks" 中的框架,方法是运行以下命令

$ sencha config --prop sencha.sdk.path=~/sencha-sdks --save

执行上述命令后,install 命令简化为

$ sencha app install

有关设置 Sencha Cmd 开关和其他配置选项的更多信息,请查阅 Web 上的“高级 Sencha Cmd”指南

https://extjs.cn/cmd/guides/advanced_cmd/cmd_advanced.html#advanced_cmd-_-cmd_advanced_-_configuration_files

选项

  • --frameworks, -f - 包含多个框架版本的目录路径,用于恢复(如果存在于 workspace.json 中)

语法

sencha app install [options] [frameworks]

sencha app prepare

选项

  • --archive, -a - 存储所有先前构建的目录路径。
  • --build, -build - 选择在 app.json 的 'builds' 集中指定的构建名称,用于构建
  • --clean, -c - 在执行构建之前删除先前的构建输出
  • --destination, -des - 构建输出写入的目录
  • --development, -dev - 将构建环境设置为:development
  • --environment, -e - 构建环境,可以是 'development'、'testing' 或 'production'
  • --locale, -l - 选择要用于构建的 app.locale 设置
  • --packages, -pac - 仅构建 app.json 的 "uses" 属性中指定的一个或多个包
  • --production, -pr - 将构建环境设置为:production
  • --run, -r - 启用自动运行带有本机打包程序的构建
  • --testing, -te - 将构建环境设置为:testing
  • --theme, -th - 选择要用于构建的 app.theme 设置
  • --uses, -u - 构建此应用程序动态使用的包(请参阅 app.json 上的 "uses")

语法

sencha app prepare [options] [theme|locale|build]... [environment]

sencha app publish

此命令将使用 sencha manager version create 将应用程序构建目录的内容发布为 Sencha Web Application Manager 应用程序的新版本。

此命令的配置应由 app.json 中的 manager 键提供

"manager": {
    "id": 12345,
    "host": "https://api.space.sencha.com/json.rpc",
    "file": "${app.output.base}",

    "apiKey": "...",
    "secret": "..."
}

不建议apiKeysecret 存储在 app.json 中,而是将其存储在此机器本地的文件中(例如 ~/.sencha/cmd/sencha.cfg)。例如

app.manager.apiKey=...
app.manager.secret=...

这将避免将凭据放置在共享的源代码存储库中。

选项

  • --archive, -a - 存储所有先前构建的目录路径。
  • --build, -build - 选择在 app.json 的 'builds' 集中指定的构建名称,用于构建
  • --clean, -c - 在执行构建之前删除先前的构建输出
  • --destination, -des - 构建输出写入的目录
  • --development, -dev - 将构建环境设置为:development
  • --environment, -e - 构建环境,可以是 'development'、'testing' 或 'production'
  • --locale, -l - 选择要用于构建的 app.locale 设置
  • --packages, -pac - 仅构建 app.json 的 "uses" 属性中指定的一个或多个包
  • --production, -pr - 将构建环境设置为:production
  • --run, -r - 启用自动运行带有本机打包程序的构建
  • --testing, -te - 将构建环境设置为:testing
  • --theme, -th - 选择要用于构建的 app.theme 设置
  • --uses, -u - 构建此应用程序动态使用的包(请参阅 app.json 上的 "uses")

语法

sencha app publish [options] [theme|locale|build]... [environment]

sencha app refresh

此命令重新生成包含动态加载器和类系统的“引导”数据的元数据文件。

每次添加、重命名或删除类时,都必须执行此操作。

如果您已向应用程序添加了包要求,则此命令还可以更新任何必需的包。要刷新必需的包(这可能会从远程存储库下载这些包),请执行以下操作

sencha app refresh --packages

很少使用其他参数。

选项

  • --base-path, -ba - 用于计算相对路径信息的基本路径。默认为 index.html 目录
  • --build, -build - 选择在 app.json 的 'builds' 集中指定的构建名称,用于构建
  • --development, -d - 将构建环境设置为:development
  • --environment, -e - 构建环境,可以是 'development'、'testing' 或 'production'
  • --locale, -l - 选择要用于构建的 app.locale 设置
  • --metadata-file, -m - 包含清单元数据的 js 文件的输出文件名
  • --packages, -pac - 从远程存储库更新必需的包
  • --production, -pr - 将构建环境设置为:production
  • --testing, -te - 将构建环境设置为:testing
  • --theme, -th - 选择要用于构建的 app.theme 设置

语法

sencha app refresh [options] [theme|locale|build]... [metadata-file]

sencha app run

选项

  • --archive, -a - 存储所有先前构建的目录路径。
  • --build, -build - 选择在 app.json 的 'builds' 集中指定的构建名称,用于构建
  • --clean, -c - 在执行构建之前删除先前的构建输出
  • --destination, -des - 构建输出写入的目录
  • --development, -dev - 将构建环境设置为:development
  • --environment, -e - 构建环境,可以是 'development'、'testing' 或 'production'
  • --locale, -l - 选择要用于构建的 app.locale 设置
  • --packages, -pac - 仅构建 app.json 的 "uses" 属性中指定的一个或多个包
  • --production, -pr - 将构建环境设置为:production
  • --run, -r - 启用自动运行带有本机打包程序的构建
  • --testing, -te - 将构建环境设置为:testing
  • --theme, -th - 选择要用于构建的 app.theme 设置
  • --uses, -u - 构建此应用程序动态使用的包(请参阅 app.json 上的 "uses")

语法

sencha app run [options] [theme|locale|build]... [environment]

sencha app upgrade

此命令将当前应用程序(基于当前目录)升级到指定的新框架。

sencha app upgrade /path/to/sdk

要从 Sencha 包存储库下载和解压缩合适的框架,也可以通过名称指定框架

sencha app upgrade -ext

或通过名称和版本指定,以 '@' 字符分隔

sencha app upgrade [email protected]

注意:这将升级当前工作区中当前应用程序使用的框架。这将影响此工作区中使用相同框架(即“ext”或“touch”)的任何其他应用程序。

要仅将应用程序的生成支架升级到新版本的 Sencha Cmd,而不升级正在使用的框架,请省略框架的路径

sencha app upgrade

或使用 --noframework 选项

sencha app upgrade --noframework

选项

  • --backup, -b - 在升级前备份应用程序
  • --full, -f - 设置生成的应用程序中是否包含 .sencha 文件夹。
  • --legacy, -l - 启用保留 .sencha/app 文件夹结构
  • --minimal, -m - 设置生成的应用程序中是否排除 .sencha 文件夹。
  • --noappjs, -noa - 禁用 app.js 的升级
  • --noframework, -nof - 仅升级 Sencha Cmd 支架,而不升级 SDK
  • --path, -pa - 要升级到的框架的路径

语法

sencha app upgrade [options] [path]

sencha app watch

此命令监视当前应用程序的源代码更改,并重新构建必要的输出以支持“开发模式”。

sencha app watch

这将对 build.trigger.targets ant 属性指定的 ant 目标运行初始传递。在此传递期间,编译器将被检测以捕获用作构建输入的文件(JavaScript、Sass 和页面资源)。

每次在正在监视的目录之一中创建、删除或修改文件时,都会重新触发 Ant 构建目标的一个子集。

Web 服务器会自动启动,并在默认端口 1841 上托管应用程序。

监视过程的高级逻辑在 Ant 中实现。有关详细信息,请参阅 ".sencha/app/watch-impl.xml."

有关控制监视过程的可用的 Ant 属性集的信息,请参阅 ".sencha/app/defaults.properties"

可以通过使用 -i 或 --inspector 开关启用与 Sencha Inspector 的集成

sencha app watch --inspector

这将向应用程序添加必要的代码,以便使用默认地址 (https://127.0.0.1:1839/) 连接 Sencha Inspector。

可以通过 ${cmd.dir}/sencha.cfg 上的 inspector.address 属性、当前用户配置文件 (~/.sencha/cmd/sencha.cfg) 或使用 config 命令配置默认地址

sencha config --prop inspector.address=http://server:port/ \
    then \
    app watch --inspector

有关与 Sencha Inspector 集成过程的信息,请参阅:https://extjs.cn/tools/sencha_inspector/

如果应用程序根目录中存在 web.xml 文件,则此命令可以尝试使用它,通过使用 -j, --j2ee 开关来建立 J2EE 应用程序的上下文。

sencha app watch --j2ee

重要的是要注意,此命令仅在 J2EE 应用程序的所有依赖项已在类路径中时才有效,因为 Sencha Cmd 在安装过程中不包含它们。(例如 servlet-api.jar)。

选项

  • --debug-fashion, -deb - 在运行 fashion 构建时启用/禁用 node dev tools。
  • --fashion, -f - 在 watch 会话期间启用 Fashion
  • --inspector, -i - 在 watch 会话期间启用 Sencha Inspector
  • --j2ee, -j - 在服务器根目录中使用 web.xml 文件作为 J2EE 应用程序的上下文。
  • --packages, -pac - 从使用的包列表中选择要包含在 watch 集中的包。
  • --port, -po - 启动本地服务器的端口号
  • --web-server, -w - 启用/禁用应用程序监视 Web 服务器。默认为 'true'。

语法

sencha app watch [options] [theme|locale|build]...

sencha audit

此命令扫描从当前目录开始的本地文件系统,并报告 Ext JS 实例及其许可证。

例如

sencha audit

这会搜索包含 "ext-all.js" 的文件夹以及产品附带的许可证。4.0.2 之前的版本未在此文件中包含许可证文本,但附带了单独的 "license.txt" 文件。如果这些文件未被保留,则此报告可能不完整。

语法

sencha audit 

sencha build

从 Sencha Cmd 应用程序或包运行时,此命令的行为将类似于 sencha app buildsencha package build,并接受相同的选项。

如果指定了与旧版基于 JSB 的构建相关的选项(--deploy-dir、--nocompress、--project-file),则会将其执行重定向到 sencha legacybuild 命令。(请参阅 sencha help legacybuild

选项

有关详细信息,请参阅 sencha help app buildsencha help package build

参数

构建应用程序时,此命令接受一个可选的位置参数来指定构建环境

语法

sencha build [options] [theme|locale|build]... [environment (only for apps)]

sencha compile

此命令类别提供 JavaScript 编译命令。compile 类别在其子命令之间维护编译状态,因此使用 and 连接子命令可以比重复调用节省大量时间。

选项

  • --classpath, -cl - 将一个或多个文件夹添加到类路径
  • --debug, -d - 为 js 指令解析器启用调试选项
  • --ignore, -ig - 忽略类路径中名称包含子字符串的文件(逗号分隔)
  • --input-language-level, -inp - 设置默认的输入 js 语言级别。支持的值

    • ES3 : ECMAScript 3 语言级别
    • ES5 : ECMAScript 5 语言级别
    • ES6 : ECMAScript 6 语言级别 (2015)
    • ES7 : ECMAScript 7 语言级别 (2016)
    • ES8 : ECMAScript 8 语言级别 (2017)
    • NEXT : ECMAScript Next(或 ES.Next)语言级别
    • ANY : 与输入级别匹配的输出语言级别(禁用转译器)
  • --options, -o - 设置 js 指令解析器的选项 (name:value,...)

  • --prefix, -p - 包含要从源文件中删除的标头或许可证前缀的文件
  • --temp-directory, -t - 控制页面和应用程序命令使用的临时目录根位置

命令

  • concatenate - 通过连接当前集中的文件来生成输出文件
  • exclude - 从当前集中排除符合给定条件的文件
  • explain - 解析两个源文件之间的引用链(如果可用)
  • include - 将符合给定条件的文件添加到当前集
  • intersect - 相交指定的已保存集以生成新集
  • metadata - 生成有关类路径中类和文件的信息
  • page - 编译标记页面的内容(html、jsp、php 等)
  • pop - 将当前集从堆栈中弹出回最近推送的集
  • push - 将当前集推送到堆栈上,以便稍后弹出以恢复当前集
  • require - 将外部文件添加到 js 编译上下文的文件引用信息
  • restore - 从先前保存的集中恢复已启用的文件集
  • save - 按给定的名称存储当前启用的文件集
  • show-ignored - 显示类路径中任何被忽略的文件
  • union - 类似于 include,但仅选择符合给定条件的文件

sencha compile concatenate

此命令将当前集写入指定的输出文件。

选项

  • --append, -a - 将输出附加到输出文件,而不是覆盖输出文件
  • --beautify, -b - 启用/禁用编译后源的美化
  • --charset, -ch - 为此输出命令指定自定义字符集。
  • --cmd, -cm - 使用 Cmd 压缩器压缩生成的文件(默认)。
  • --compress, -co - 使用默认压缩器 (cmd) 压缩生成的文件
  • --input-js-version, -i - 设置输入 JS 语言级别。支持的值

    • ES3 : ECMAScript 3 语言级别
    • ES5 : ECMAScript 5 语言级别
    • ES6 : ECMAScript 6 语言级别 (2015)
    • ES7 : ECMAScript 7 语言级别 (2016)
    • ES8 : ECMAScript 8 语言级别 (2017)
    • NEXT : ECMAScript Next(或 ES.Next)语言级别
    • ANY : 与输入级别匹配的输出语言级别(禁用转译器)
  • --js-version, -j - 设置输出 JS 语言级别。支持的值

    • ES3 : ECMAScript 3 语言级别
    • ES5 : ECMAScript 5 语言级别
    • ES6 : ECMAScript 6 语言级别 (2015)
    • ES7 : ECMAScript 7 语言级别 (2016)
    • ES8 : ECMAScript 8 语言级别 (2017)
    • NEXT : ECMAScript Next(或 ES.Next)语言级别
    • ANY : 与输入级别匹配的输出语言级别(禁用转译器)
  • --output-file, -ou - 输出文件名(或 $ 表示标准输出)

  • --remove-text-references, -remove-t - 启用/禁用引用优化,方法是将字符串类名转换为静态引用
  • --strip-comments, -st - 从生成的文件中删除注释

语法

sencha compile concatenate [options] output-file

sencha compile exclude

此命令从当前集中删除任何符合条件的文件。

选项

  • --all, -a - 选择全局缓存中的所有文件(忽略其他选项)
  • --class, -c - 根据指定的类名选择文件
  • --file, -f - 选择指定的文件名(支持 glob 模式)
  • --include-uses, -i - 启用/禁用在传递扫描 (-recursive) 中包含 'uses' 依赖项
  • --json-data, -j - 指定要选择的文件的 json 格式数组。
  • --namespace, -na - 选择给定命名空间中具有类定义的所有文件
  • --not, -no - 反转匹配条件
  • --recursive, -r - 在选择文件时启用依赖关系遍历
  • --set, -s - 从先前保存的集中选择文件(忽略其他选项)
  • --tag, -t - 选择具有指定 '//@tag' 值的所有文件

语法

sencha compile exclude [options] 

sencha compile explain

选项

  • --start-name, -s - 设置要用作引用路径起点的符号名称。
  • --target-name, -t - 设置要用作引用路径终点的符号名称。

语法

sencha compile explain [options] startName \
                                 targetName

sencha compile include

此命令将符合条件的文件添加到当前集。

选项

  • --all, -a - 选择全局缓存中的所有文件(忽略其他选项)
  • --class, -c - 根据指定的类名选择文件
  • --file, -f - 选择指定的文件名(支持 glob 模式)
  • --include-uses, -i - 启用/禁用在传递扫描 (-recursive) 中包含 'uses' 依赖项
  • --json-data, -j - 指定要选择的文件的 json 格式数组。
  • --namespace, -na - 选择给定命名空间中具有类定义的所有文件
  • --not, -no - 反转匹配条件
  • --recursive, -r - 在选择文件时启用依赖关系遍历
  • --set, -s - 从先前保存的集中选择文件(忽略其他选项)
  • --tag, -t - 选择具有指定 '//@tag' 值的所有文件

语法

sencha compile include [options] 

sencha compile intersect

此命令在当前集中生成指定的所有输入集中包含的文件。或者,此命令可以包含在一定最小数量的集中存在的文件。

此命令仅对已保存的集进行操作(与大多数其他集操作不同)。

选项

  • --min-match, -m - 导致匹配的文件所必须存在的最小集合数 (-1 = 全部)
  • --name, -n - 用于保存交集作为集的名称
  • --sets, -s - 要包含在交集中的集

语法

sencha compile intersect [options] 

sencha compile metadata

此命令生成从当前文件集中提取的各种形式的元数据。此数据可以导出为各种格式(例如,JSON 或 JSONP)。

选项

数据类型

选择以下选项之一

  • --alias, -ali - 生成类名到别名信息
  • --alternates, -alt - 生成类备用名称信息
  • --definitions, -d - 生成符号信息
  • --filenames, -f - 生成源文件名信息
  • --loader-paths, -l - 生成动态加载器路径信息
  • --manifest, -m - 生成类定义清单文件
  • --packages, -p - 生成所需包的列表

格式

选择以下选项之一

  • --json, -json - 以 JSON 格式生成数据
  • --jsonp, -jsonp - 使用给定的函数以 JSONP 格式生成数据
  • --tpl, -t - 用于将文件名生成为文本的行模板(例如)

杂项

  • --append, -ap - 将输出附加到输出文件,而不是覆盖输出文件
  • --base-path, -ba - 设置相对路径引用的基本路径
  • --boot-relative, -bo - 指示路径相对于引导文件
  • --exclude-disabled, -e - 指示仅应处理已启用的 js 源文件
  • --info-type, -i - 为此元数据命令选择要操作的信息类型。支持的值

    • Alias : 类名到别名信息
    • Alternates : 备用类名信息
    • Filenames : 当前选定源文件的文件名信息
    • LoaderPaths : 动态加载器 (Ext.Loader) 的路径配置
    • Manifest : 类定义清单信息
    • Definitions : 符号信息
    • Packages : 所需的包并生成包名称/版本信息
    • LoadOrder : 类加载器的加载顺序元数据
    • PackageManifest : 所有包要求的清单
    • AppManifest : v5 微型加载器要使用的应用程序清单
    • Dependencies : 文件到文件依赖关系数据
    • RequiredFiles : 选定文件的直接需求列表
  • --output-file, -o - 输出文件名(或 $ 表示标准输出)

  • --separator, -s - 用于分隔多个模板的分隔符

语法

sencha compile metadata [options] 

sencha compile page

此命令处理标记文件作为输入,并生成一个输出文件,其中某些部分被重写。

如果指定了 -name 选项,则所有必需文件的依赖关系图将保存为具有该名称的文件集(另请参阅 save 命令)。

如果未指定 -name 选项,则所有必需的文件将改为写入 "all-classes.js" 文件。

选项

  • --append, -ap - 将输出附加到输出文件,而不是覆盖输出文件
  • --beautify, -b - 启用/禁用编译后源的美化
  • --charset, -ch - 为此输出命令指定自定义字符集。
  • --classes-file, -cla - 包含连接输出的 js 文件名
  • --cmd, -cm - 使用 Cmd 压缩器压缩生成的文件(默认)。
  • --compress, -co - 使用默认压缩器 (cmd) 压缩生成的文件
  • --input-file, -input-f - 要处理的 html 页面
  • --input-js-version, -input-j - 设置输入 JS 语言级别。支持的值

    • ES3 : ECMAScript 3 语言级别
    • ES5 : ECMAScript 5 语言级别
    • ES6 : ECMAScript 6 语言级别 (2015)
    • ES7 : ECMAScript 7 语言级别 (2016)
    • ES8 : ECMAScript 8 语言级别 (2017)
    • NEXT : ECMAScript Next(或 ES.Next)语言级别
    • ANY : 与输入级别匹配的输出语言级别(禁用转译器)
  • --js-version, -j - 设置输出 JS 语言级别。支持的值

    • ES3 : ECMAScript 3 语言级别
    • ES5 : ECMAScript 5 语言级别
    • ES6 : ECMAScript 6 语言级别 (2015)
    • ES7 : ECMAScript 7 语言级别 (2016)
    • ES8 : ECMAScript 8 语言级别 (2017)
    • NEXT : ECMAScript Next(或 ES.Next)语言级别
    • ANY : 与输入级别匹配的输出语言级别(禁用转译器)
  • --name, -n - 设置页面的引用名称

  • --output-page, -ou - 输出 html 页面
  • --remove-text-references, -remove-t - 启用/禁用引用优化,方法是将字符串类名转换为静态引用
  • --scripts, -sc - 将给定的脚本路径注入到生成的标记中,位于所有类文件之前
  • --strip-comments, -str - 从生成的文件中删除注释

语法

sencha compile page [options] output-page

sencha compile pop

此命令从“堆栈”中恢复当前文件集。此状态先前使用 push 命令放置在“堆栈”上。

sencha compile ... \
            and push \
            and ... \
            and pop
            and ...

pushpop 命令之间,可以根据需要调整当前文件集,然后恢复以供后续命令使用。

语法

sencha compile pop 

sencha compile push

此命令将当前文件集保存在“堆栈”上,以便轻松保存和恢复状态。

sencha compile ... \
            and push \
            and ... \
            and pop
            and ...

pushpop 命令之间,可以根据需要调整当前文件集,然后恢复以供后续命令使用。

语法

sencha compile push 

sencha compile require

选项

  • --allow-unmet-dependencies, -a - 允许此需求不产生任何文件到文件依赖关系
  • --file-name, -f - 指示 -source 参数指定的名称是单个文件路径。
  • --requires, -r - 由 -source 参数表示的文件所需的文件名。
  • --source-name, -so - 要在其上添加需求的 (类、@tag 或文件) 文件集。
  • --uses, -u - 指示此引用是 'uses' 级别引用。

语法

sencha compile require [options] 

sencha compile restore

语法

sencha compile restore String

sencha compile save

语法

sencha compile save String

sencha compile show-ignored

显示在 classpath 中找到但与 -ignore 条件匹配的所有文件的列表。

语法

sencha compile show-ignored 

sencha compile union

此命令将符合条件的文件添加到当前集。这与 include 命令类似,但此命令首先从当前集中删除所有文件。换句话说,此命令使当前集等于仅那些符合条件的文件。

选项

  • --all, -a - 选择全局缓存中的所有文件(忽略其他选项)
  • --class, -c - 根据指定的类名选择文件
  • --file, -f - 选择指定的文件名(支持 glob 模式)
  • --include-uses, -i - 启用/禁用在传递扫描 (-recursive) 中包含 'uses' 依赖项
  • --json-data, -j - 指定要选择的文件的 json 格式数组。
  • --namespace, -na - 选择给定命名空间中具有类定义的所有文件
  • --not, -no - 反转匹配条件
  • --recursive, -r - 在选择文件时启用依赖关系遍历
  • --set, -s - 从先前保存的集中选择文件(忽略其他选项)
  • --tag, -t - 选择具有指定 '//@tag' 值的所有文件

语法

sencha compile union [options] 

sencha config

此命令可用于手动设置配置选项,或加载配置文件以设置多个选项。

默认情况下,这些配置选项仅在当前 Sencha Cmd 执行期间保留,这意味着您几乎总是使用 then 来链接将使用修改后的配置执行的命令。

例如,要更改 Ext JS 应用程序构建的主题

sencha config -prop app.theme=theme-neptune then app build

可以从属性文件加载多个属性

sencha config -file neptune.properties then app build

"neptune.properties" 的内容可能如下所示

app.theme=theme-neptune
app.build.dir=${app.dir}/build/neptune

如果要保留给定的属性,如果使用 --save / -s 开关,Sencha Cmd 可以将其写入个人或全局配置文件。

# always enable debug output (this user only, all versions)
sencha config -prop sencha#debug=true --save

要从配置文件中删除属性,只需省略赋值即可

# remove sencha#debug={value} from the configuration file
sencha config -prop sencha#debug --save

要将属性写入全局配置文件,请使用 --global / -g 开关

# always enable debug ouptut (all users, all versions)
sencha config -prop sencha#debug=true --save --global

要列出所有已保存的属性,请使用 --list / -l 开关

sencha config --list
sencha config --list --global

要了解有关 Sencha Cmd 配置文件的更多信息,请参阅以下指南

https://extjs.cn/cmd/guides/advanced_cmd/cmd_advanced.html#advanced_cmd-_-cmd_advanced_-_configuration_files

选项

  • --file, -f - 要加载的属性文件
  • --global, -g - 将属性保存/列出到/从全局 cfg 文件(适用于所有用户)
  • --list, -l - 列出所有已保存的属性
  • --prop, -p - 要设置的一个或多个属性名称和值,省略赋值以删除属性
  • --save, -s - 将指定的属性写入用户的 Sencha Cmd 个人配置文件。

语法

sencha config [options] 

sencha cordova

此命令将在 CMD 的未来版本中弃用。请参阅有关通过 app.json 而不是运行这些命令来设置多构建的信息。

Sencha Cmd 与 Cordova CLI 协同工作,以将您的应用程序打包为本机平台。

// Initialize Cordova Support 
sencha cordova init {APP_ID} {APP_NAME}

// Build the application and attempt to run it on a Device or in the Emulator
sencha app build -run native

有关将 Sencha Cmd 与 Cordova 一起使用的更多信息,请查阅此处找到的指南

https://extjs.cn/touch/2.3.0/#!/guide/cordova

命令

  • init - 向您的应用程序添加 Cordova 支持

sencha cordova init

这将向您的应用程序添加 Cordova CLI 支持。Cordova CLI 支持将允许在本地为多个平台构建本机应用程序。

sencha cordova init {APP_ID} {APP_NAME}

{APP_ID} 是可选的,包含本机应用程序中使用的应用程序 ID。这将默认为 foo.bar.{APP_NAME}

{APP_NAME} 是可选的,包含本机应用程序中使用的应用程序名称。这将默认为您的 sencha touch 应用程序的名称。

有关将 Sencha Cmd 与 Cordova 一起使用的更多信息,请查阅此处找到的指南

https://extjs.cn/touch/2.3.0/#!/guide/cordova

语法

sencha cordova init Object[]...

sencha diag

此命令类别允许您使用 Sencha Cmd 执行诊断操作,这对于调试其他命令执行期间的问题很有用。

命令

  • export - 生成一个 zip 文件,其中包含有关构建环境的元数据,用于诊断目的
  • show-props - 显示配置和环境属性

sencha diag export

语法

sencha diag export 

sencha diag show-props

语法

sencha diag show-props 

sencha framework

此命令类别允许您管理当前工作区中的框架。

框架条目在 workspace.json 中的 "frameworks" 属性中定义

"frameworks": {
    "ext": "ext",
    "ext5": {
        "package": "ext@5",
        "path": "ext5"
    },
    "ext6": {
        "source": "../frameworks/ext-6.0.0",
        "path": "ext-6"
    },
    "touch242": "../touch-2.4.2"
}

框架条目可以是字符串 (例如:“/path/to/ext” 或 “[email protected]”) 或配置对象,这些对象声明 “package” 或 “source”,以及可选的 “path”。如果未定义 “path”,则框架键(例如:“ext”、“ext6” 将用作路径)。

框架条目键必须以 “ext” 或 “touch” 开头。

命令

  • add - 向当前工作区添加框架
  • list - 列出当前工作区中可用的框架
  • remove - 从当前工作区中删除框架
  • upgrade - 升级 workspace.json 中定义的框架并升级使用它的应用程序

sencha framework add

此命令允许向当前工作区添加框架条目。

路径可以作为参数传递

sencha framework add /path/to/ext

Sencha Cmd 将确定框架的名称和版本,并使用它们生成键(例如:“ext6” 或 “ext501”),默认情况下,此键也将用作工作区内将复制框架到的目录的名称。

包名称可以作为参数传递

sencha framework add ext@n[.n[.n[.n]]] 

如果包尚不存在于工作区存储库中,它将被下载并提取到工作区 packages 目录。

由于包名称有时可能不明确(例如,当名为 "ext" 的目录存在时,调用 sencha framework add ext),可以使用 --package 开关强制将第一个参数视为包名称

# If a directory called "ext" exists it will be added as a framework entry
sencha framework add ext

# It will treat "ext" as package name and act accordingly 
sencha framework add --package ext

可选地,框架将被复制到的路径可以作为第二个参数传递

# Will copy the framework to ${workspace.dir}/ext
sencha framework add /path/to/ext ext

# Will copy the framework to ${workspace.dir}/ext5
sencha framework add /path/to/ext-5 ext5

第三个参数可用于指定框架键

# Will add a framework entry with "ext-custom" as key
sencha framework add /path/to/ext my_ext ext-custom

框架键必须以 “ext” 或 “touch” 开头。

选项

  • --key, -k - 将在 workspace.json 上标识此框架的键
  • --package, -pac - 即使存在同名目录,也应将 source|package 参数视为包名称
  • --path, -pat - 框架将被复制到的目录
  • --source, -so - 源目录

语法

sencha framework add [options] [source|package] [path] [key]

sencha framework list

此命令列出当前命名空间中声明的所有框架。

语法

sencha framework list 

sencha framework remove

此命令允许您从当前工作区中删除框架条目。

sencha framework remove ext6

Sencha Cmd 将确定是否可以删除框架(基于工作区中声明的应用程序是否使用了该框架)。

如果框架源位于工作区外部,则文件将不会被删除,仅删除 workspace.json 中的条目。

如果要删除框架条目而不考虑其使用情况,可以使用 --force 开关

sencha framework remove --force ext6

如果只想删除框架条目并保留其文件(如果在当前工作区内),请使用 --soft 开关

sencha framework remove --soft ext6

选项

  • --force, -f - 强制删除框架条目
  • --soft, -so - 不要从文件系统中删除框架(仅适用于存储在工作区内的框架)

语法

sencha framework remove [options] [key]

sencha framework upgrade

选项

  • --key, -k - 标识要升级的框架的键
  • --meta, -me - 仅升级 workspace.json 上的信息
  • --path, -pa - 框架将被复制到的目录
  • --source, -so - 源目录

语法

sencha framework upgrade [options] [key] [source|package] [path]

sencha fs

此类别提供用于操作文件的命令。

类别

  • mirror - 用于为 RTL 语言制作镜像图像的命令

命令

  • concatenate - 将多个文件连接成一个
  • difference - 以 JSON 格式生成两个文件之间的增量
  • minify - 缩小 JavaScript 文件
  • slice - 根据 JSON 清单从给定图像生成图像切片

sencha fs concatenate

此命令将多个输入文件合并为一个输出文件。

sencha fs concat -to=output.js input1.js input2.js input3.js

选项

  • --from, -f - 要连接的文件列表,以逗号分隔
  • --to, -t - 用于写入连接内容的目标文件

语法

sencha fs concatenate [options] files...

sencha fs difference

此命令生成输入文件之间的增量(或“补丁”)文件。

sencha fs diff -from=base.js -to=modified.js -delta=patch

语法

sencha fs difference 

sencha fs minify

此命令使用各种后端压缩器生成缩小后的文件。

sencha fs minify -yui -from=in.js -to=out.js

sencha fs minify -closure -from=in.js -to=out.js

也支持旧语法

sencha fs minify -compressor=yuicompressor -from=in.js -to=out.js

sencha fs minify -compressor=closurecompiler -from=in.js -to=out.js

选项

  • --cmd, -cm - 启用 Cmd 压缩器(默认)。
  • --from, -f - 要缩小的输入 js 文件
  • --generate-source-map, -g - 启用 SourceMap 生成(仅当与 closure compiler 结合使用时)
  • --level, -l - 设置 JS 压缩的语言级别。默认为 ES5。支持的值

    • ES3 : ECMAScript 3 语言级别
    • ES5 : ECMAScript 5 语言级别
    • ES6 : ECMAScript 6 语言级别 (2015)
    • ES7 : ECMAScript 7 语言级别 (2016)
    • ES8 : ECMAScript 8 语言级别 (2017)
    • NEXT : ECMAScript Next(或 ES.Next)语言级别
    • ANY : 与输入级别匹配的输出语言级别(禁用转译器)
  • --to, -t - 缩小输出的目标文件名。

语法

sencha fs minify [options] 

sencha fs mirror

用于为 RTL 语言创建图像和精灵水平镜像的命令。

此系列命令旨在自动生成基于手动维护和设计的图像资产的“派生”图像,这些图像资产以更熟悉的从左到右 (LTR) 形式编写。

命令

  • all - 根据命名约定水平翻转图像和精灵文件夹
  • image - 水平翻转图像
  • sprite - 水平翻转“精灵”(多单元格图像)

sencha fs mirror all

此命令创建图像和/或精灵文件夹的水平镜像图像。此命令需要一些名称一致性,以便区分输出文件和输入文件以及精灵的几何形状。

精灵必须具有看起来像 "4x3" 的名称段才能定义其几何形状。这被理解为“列” x “行”,或者在本例中为 4 列和 3 行。

以下示例都符合此模式

  • tools-2x12.png
  • sprite_12x3.gif
  • some-3x5-sprite.png

输入文件和输出文件由必须给定的后缀分隔。输出文件将从应用后缀的输入文件生成。默认情况下,输出文件写入与输入文件相同的文件夹。可以通过指定 “-out” 来更改此设置。

例如

sencha fs mirror all -r -suffix=-rtl /path/to/images

上述命令执行以下操作

  • 扫描 "/path/to/images"(以及所有子文件夹,因为 -r)以查找图像。
  • 任何不以 "-rtl" 结尾的图像都被视为输入文件。
  • 名称中带有精灵几何形状的任何输入图像都会翻转其单元格。
  • 其他输入图像将完全翻转。
  • 输入文件使用其原始名称加上后缀写入。
  • 执行最新检查,但可以通过传递 -overwrite 来跳过。
  • 文件写入到 "/path/to/images"

通过传递 -format 开关,可以将输出图像的格式设置为与原始文件格式不同的格式。例如,可以通过传递 -format=gif 将 PNG 文件转换为 GIF 文件。这仅执行基本的图像转换,而不进行高级图像处理。可以使用 -quantize 启用简单的颜色量化。

例如

sencha fs mirror all all -format=gif -ext=png -quantize -out=/out/dir \
     -suffix=-rtl /some/pngs

上述命令将处理所有 "png" 图像,并将其 "gif" 版本(使用颜色量化)写入到不同的文件夹。

选项

  • --dry-run, -d - 设置后,将不保存任何图像,但仍会完成所有正常工作
  • --extensions, -e - 图像扩展名的逗号分隔列表(默认为 “gif,png”)
  • --format, -f - 用于写入所有输出文件的图像格式(例如,“-f=png”)
  • --output-dir, -ou - 生成图像的输出文件夹(默认为输入文件夹)
  • --overwrite, -ov - 禁用最新检查并始终生成输出文件
  • --quantize, -q - 启用基本颜色量化(与 -format=gif 一起使用时很有用)
  • --recurse, -r - 递归处理输入文件夹(即,包括子文件夹)
  • --suffix, -s - 输出文件的后缀(例如,“-rtl”)

语法

sencha fs mirror all [options] File

位置:

  • File - 要处理的输入文件夹

sencha fs mirror image

此命令创建给定输入文件的水平镜像图像。

例如

sencha fs mirror image foo.png foo-rtl.png

上述命令从 "foo.png" 创建 "foo-rtl.png"

选项

  • --background-color, -b - 颜色量化期间用于删除 alpha 通道的背景颜色
  • --overwrite, -o - 禁用最新检查并始终生成输出文件
  • --quantize, -q - 启用基本颜色量化(当输出为 gif 时很有用)

语法

sencha fs mirror image [options] File \
                                 File

位置:

  • File - 输入图像
  • File - 输出图像

sencha fs mirror sprite

此命令创建给定精灵中单元格的水平镜像图像。

例如

sencha fs mirror sprite -rows=2 -cols=4 sprite.png sprite-rtl.png

上述命令水平翻转 2x4 精灵 "sprite.png" 中的每个单元格,并生成 "sprite-rtl.png"

注意:需要行数和列数。

选项

  • --background-color, -b - 颜色量化期间用于删除 alpha 通道的背景颜色
  • --columns, -c - 精灵中的列数。
  • --overwrite, -o - 禁用最新检查并始终生成输出文件
  • --quantize, -q - 启用基本颜色量化(当输出为 gif 时很有用)
  • --rows, -r - 精灵中的行数。

语法

sencha fs mirror sprite [options] File \
                                  File

位置:

  • File - 输入图像
  • File - 输出图像

sencha fs slice

此命令执行图像切片和操作,由 JSON 清单文件的内容驱动。清单文件包含图像区域定义的数组,这些定义进一步包含要制作的“切片”集。

此文件和相应的图像通常作为主题包构建的一部分为主题生成。有关此过程的详细信息,请查阅本指南

https://extjs.cn/ext-js/4-2/#!/guide/command_slice

选项

  • --format, -f - 要保存的图像格式 - “png” 或 “gif”(默认)
  • --image, -i - 要切片的图像
  • --manifest, -m - 切片器清单 (JSON) 文件
  • --out-dir, -o - 写入切片图像的根文件夹
  • --quantized, -q - 启用图像量化(默认为 true)
  • --tolerate-conflicts, -t - 容忍切片清单中的冲突

语法

sencha fs slice [options] 

sencha generate

此类别包含用于生成应用程序以及向应用程序添加新类的代码生成器。

命令

  • app - 生成启动器应用程序
  • controller - 为当前应用程序生成控制器
  • form - 为当前应用程序生成表单(Sencha Touch 特有)
  • model - 为当前应用程序生成模型
  • package - 生成启动器包
  • profile - 为当前应用程序生成配置文件(Sencha Touch 特有)
  • theme - 为切片操作生成主题页面(Ext JS 特有)
  • view - 为当前应用程序生成视图(Ext JS 特有)
  • workspace - 初始化多应用程序工作区

sencha generate app

此命令生成一个空应用程序,给定名称和目标文件夹。

可以使用其他 sencha generate 命令(例如,sencha generate model)扩展应用程序。

其他应用程序操作在 sencha app 类别中提供(例如,sencha app build)。

Sencha Cmd 还可以通过指定框架名称作为参数来自动下载和提取框架

sencha generate app -ext MyAppName ./MyAppPath

这将使用指定框架的最新可用版本生成应用程序。

默认情况下,上述命令生成通用应用程序。要覆盖此设置并选择特定的工具包,您可以使用以下变体之一

sencha generate app -ext -classic MyAppName ./MyAppPath
sencha generate app -ext -modern MyAppName ./MyAppPath

选项

  • --controller-name, -c - 默认控制器的名称
  • --library, -l - 要使用的预构建库(core 或 all)。默认值:core
  • --name, -n - 要生成的应用程序的名称
  • --path, -p - 生成的应用程序的路径
  • --refresh, -r - 设置为 false 以跳过生成的应用程序的“app refresh”
  • --starter, -s - 覆盖默认的 Starter App 模板目录
  • --template, -te - 要使用的模板的名称
  • --theme-name, -th - 默认主题的名称
  • --view-name, -v - 默认视图的名称

语法

sencha generate app [options] name \
                              path

sencha generate controller

此命令生成一个新的控制器并将其添加到当前应用程序。

选项

  • --name, -n - 要生成的控制器的名称

语法

sencha generate controller [options] name

sencha generate form

此命令生成一个新的表单并将其添加到当前应用程序。

选项

  • --fields, -f - 以逗号分隔的 “name:type” 字段对列表
  • --name, -n - 要生成的表单的名称
  • --xtype, -x - 表单的 xtype。默认为名称的小写形式。

语法

sencha generate form [options] name \
                               fields \
                               [xtype]

sencha generate model

此命令生成一个新的模型类并将其添加到当前应用程序。

选项

  • --base, -b - 模型的基类(默认值:Ext.data.Model)
  • --fields, -f - 以逗号分隔的 “name:type” 字段对列表
  • --name, -n - 模型的名称

语法

sencha generate model [options] name \
                                fields

sencha generate package

此命令生成一个新的 Sencha Cmd 包。包在许多方面都类似于应用程序,因为它包含以下任何部分

  • JavaScript 源代码
  • SASS 样式
  • 任意资源

所有这些都通过使用 sencha package build 的构建过程集成。

例如

sencha generate package foo

如果此命令从应用程序目录运行,则包将自动添加到 "app.json" 文件中的 requires 数组中。要避免这种情况,请使用 -require 开关

sencha generate package -require foo

要在其他应用程序(或包)中使用此包,您只需将包的名称添加到 "app.json""package.json" 文件中的 requires 数组中

requires: [
    'foo'
]

所有包都位于工作区的 "./packages" 文件夹中(该文件夹通常与您的应用程序位于同一文件夹中)。

选项

  • --extend, -e - 要扩展的主题(包)(仅适用于 Ext JS 4.2+ 上的主题类型包)
  • --framework, -fr - 此包将使用的框架(即 “ext” 或 “touch”)
  • --name, -name - 要生成的包的名称
  • --namespace, -names - 要生成的包的命名空间
  • --require, -r - 是否自动将生成的包添加到当前应用程序(仅适用于非主题包)
  • --theme, -th - 此包将使用的主题(包)(即 “ext-theme-classic”、“ext-theme-crisp”、“ext-theme-neptune” 等)
  • --toolkit, -to - 此主题将使用的工具包(仅适用于 Ext JS 6.x+ 上的主题类型包)
  • --type, -ty - 要生成的包的类型(即 “code” 或 “theme”) 支持的值
    • CODE : 代码库
    • EXTENSION : Sencha Cmd 的扩展
    • FRAMEWORK : 框架
    • THEME : 用户界面主题或皮肤
    • TEMPLATE : 一个或多个模板的库
    • TOOLKIT : 组件/小部件库
    • LOCALE : 本地化覆盖/样式
    • OTHER : 未指定类型

语法

sencha generate package [options] name

sencha generate profile

此命令生成一个新的 Profile 并将其添加到当前应用程序。

注意:仅限 Sencha Touch。

选项

  • --name, -n - 要生成的 Profile 的名称

语法

sencha generate profile [options] name

sencha generate theme

此命令生成一个新的主题。对于 Ext JS 4.1,主题由应用程序“拥有”。在 Ext JS 4.2 及更高版本中,主题是包。

在 Ext JS 4.2 中,主题包可以扩展其他主题。默认情况下,生成的主题扩展 “ext-theme-classic”。可以使用 --extend 覆盖此设置。

要在 Ext JS 4.2 中生成独立的 Theme,请按照以下步骤操作。使用在您的系统上解压缩的 Ext JS 4.2 SDK 生成工作区(带有 "ext" 文件夹)

sencha -sdk /path/to/ext-4.2.0 generate workspace MyWorkspace
cd MyWorkspace

从工作区内部,使用 "ext" 文件夹生成主题包

sencha -sdk ext generate theme --extend ext-theme-neptune MyTheme

以上操作可以等效地使用用于创建工作区的 SDK。

此处使用 -sdk 开关来指示主题所基于的框架。如果命令是从 Ext JS 应用程序文件夹运行的,则不需要此开关。

注意: 不适用于 Sencha Touch。

选项

  • --extend, -e - 要扩展的主题包的名称(仅限 Ext JS 4.2+)
  • --name, -n - 要生成的主题的名称
  • --toolkit, -t - 此主题适用的工具包的名称(仅限 Ext JS 6.x+)

语法

sencha generate theme [options] name

sencha generate view

此命令生成一个新的视图类并将其添加到当前应用程序。

选项

  • --base-class, -b - 指定视图的基类(默认值:'Ext.panel.Panel')
  • --name, -n - 要生成的视图的名称

语法

sencha generate view [options] name

sencha generate workspace

此命令生成一个工作区,用于管理跨页面或应用程序的共享代码。

选项

  • --force, -fo - 强制将框架重新提取到工作区中。
  • --full, -fu - 启用完整模式,其中包括 .sencha 文件夹。
  • --minimal, -mi - 启用最小模式(无 .sencha 文件夹)。
  • --path, -pa - 设置工作区的目标路径

语法

sencha generate workspace [options] [path]

sencha help

此命令显示其他命令的帮助。

示例

sencha help generate app

语法

sencha help command...

位置:

  • command - 要显示帮助的命令路径(例如,“generate app”)

sencha js

此命令加载并执行指定的 JavaScript 源文件。

sencha js file.js[,file2.js,...] [arg1 [arg2 ...] ]

文件

此命令的第一个参数是要执行的文件。如果有多个文件,请用逗号分隔它们。除了指定文件的命令行技术外,此命令还识别以下指令

//@require ../path/to/source.js

这种形式的 require 指令使用基于包含该指令的文件的相对路径。任何给定文件都只会被执行一次,这与编译器的方式非常相似。

上下文

为 JavaScript 执行上下文提供了一个原始的 console 对象,其中包含以下方法

  • log
  • debug
  • info
  • warn
  • error
  • dir
  • trace
  • time / timeEnd

第一个参数之后的参数可以使用全局 $args 数组在 JavaScript 中访问。当前目录可以使用 $curdir 访问。

Sencha Cmd 对象可以使用 sencha 访问。此对象具有 version 属性和 dispatch 方法。

if (sencha.version.compareTo('3.0.0.210') < 0) {
    console.warn('Some message');
} else {
    // dispatch any command provided by Cmd:
    sencha.dispatch([ 'app', 'build', $args[1] ]);
}

除了以上内容,执行的 JavaScript 可以使用 importPackageimportClass 方法完全访问 JRE。

例如

importPackage(java.io);

var f = new File('somefile.txt');  // create a java.io.File object

有关 Java 提供的 JavaScript 引擎的更多详细信息,请查阅 Java Scripting 指南

http://docs.oracle.com/javase/6/docs/technotes/guides/scripting/programmer_guide/index.html

语法

sencha js String \
          String[]...

sencha manager

此类别提供用于与 Sencha Web Application Manager 交互的命令

类别

  • version - 用于管理应用程序版本的命令。

sencha manager version

此类别提供用于管理应用程序版本的命令

命令

  • create - 在 Sencha Web Application Manager 中创建新的应用程序版本。

sencha manager version create

在 Sencha Web Application Manager 中配置指定应用程序的新版本。

此命令接受 zip 文件或目录的路径,并将内容发布到 Sencha Web Application Manager 作为新的应用程序版本。

选项

  • --api-key, -a - 用于与 Sencha Web Application Manager 服务器通信的 API 密钥。
  • --file, -f - 要发布为新应用程序版本的 zip 文件或文件夹的路径。
  • --host, -h - Sencha Web Application Manager 服务器的主机 URL。
  • --id, -i - Sencha Web Application Manager 应用程序的 ID。
  • --name, -n - 要创建的版本名称。
  • --secret, -s - 用于加密与 Sencha Web Application Manager 服务器通信的共享密钥。

语法

sencha manager version create [options] 

sencha manifest

此类别提供用于管理应用程序清单的命令。

命令

  • create - 为给定目录中找到的所有类生成元数据列表

sencha manifest create

此命令为所有类生成元数据列表。

选项

  • --output-path, -o - 将结果写入到的 JSON 格式的文件路径。
  • --path, -p - 包含所有类的目录路径

语法

sencha manifest create [options] output-path

sencha package

这些命令管理本地存储库中的包。

这些命令通常不直接使用,因为应用程序需求由 sencha app buildsencha app refresh --packages 自动使用以处理这些细节。

使用包

使用包所需的最常见命令是将您的本地包存储库连接到远程存储库的命令。默认情况下,本地存储库定义了一个指向 Sencha 包存储库的远程存储库。

要添加、删除或显示这些连接,请参阅

sencha help package repo

编写包

但是,当为他人编写包以在其应用程序中使用时,将涉及到这些命令。特别是,您必须首先初始化您的本地包存储库。这是因为本地存储库会自动“匿名”初始化。在这种状态下,本地存储库只能用于检索和缓存其他包。要创建和发布包,必须使用名称和可选的电子邮件地址初始化本地存储库。

此名称不需要全局唯一,但最好使用一个唯一且有意义的名称作为包作者。

sencha repository init -name "My Company, Inc."

sencha repository init -name mySenchaForumId

有关详细信息,请参阅

sencha help repository init

命令

  • add - 将包文件 (.pkg) 添加到本地存储库
  • build - 构建当前包
  • extract - 将包的内容提取到输出文件夹
  • get - 从远程存储库获取包
  • install - 安装 Sencha Cmd 扩展包
  • list - 列出存储库中的包
  • remove - 从本地存储库中删除包
  • upgrade - 升级当前包

sencha package add

将新的包文件 ("*.pkg") 添加到本地存储库。如果这些包的 creator 属性与与本地存储库关联的 name 匹配,则会自动对其进行签名。

一旦将包添加到本地存储库,任何指向此存储库作为远程存储库的存储库都将能够下载该包。

sencha package build 过程在 workspace.build.dir 中生成一个合适的 ".pkg" 文件。

语法

sencha package add pkgFile

位置:

  • pkgFile - 包文件的路径(例如,path/file.pkg)

sencha package build

此命令调用当前包的构建过程。与应用程序和 sencha app build 类似,此命令构建当前包(由当前文件夹定义)。

sencha package build

选项

  • --build, -build - 选择在 'builds' package.json 集中指定的构建名称以用于构建
  • --clean, -c - 在执行构建之前删除先前的构建输出
  • --destination, -des - 构建输出写入的目录
  • --fashion-debug, -fashion-d - 在运行 fashion 构建时启用/禁用 node dev tools。
  • --fashion-symbols, -fashion-s - 在 scss 代码中启用/禁用堆栈跟踪。
  • --locale, -l - 选择要用于构建的 package.locale 设置
  • --theme, -th - 选择要用于构建的 package.theme 设置

语法

sencha package build [options] [theme|locale|build]...

sencha package extract

此命令从存储库中提取一个或多个包。如果需要,将从远程存储库下载包并在本地缓存以供将来使用。

注意: 这通常 手动执行,而是基于在 "app.json" 和/或 "package.json" 中找到的 “requires” 作为构建过程的一部分自动处理。

要将名为 “foo” 的版本为 “1.2” 的包提取到指定位置

sencha package extract -todir=/some/path [email protected]

这将创建 "/some/path/foo"。要递归提取 “foo” 所需的包,您可以执行以下操作

sencha package extract -recurse -todir=/some/path [email protected]

完成后,“foo” 及其所有必需的包都将驻留在指定的文件夹中。

注意: 建议使用 -todir 并允许包名称用作该文件夹的直接子目录。-outdir 选项允许您剥离此目录,但这会阻止递归提取。

选项

  • --clean, -c - 在提取之前删除输出文件夹中的任何文件
  • --force, -f - 忽略本地副本并从远程存储库获取
  • --outdir, -o - 提取的包内容的输出文件夹
  • --recurse, -r - 还要递归获取所有必需的包
  • --todir, -t - 提取的包文件夹的输出文件夹

语法

sencha package extract [options] packages...

位置:

  • packages - 要提取的包的名称/版本

sencha package get

此命令确保指定的包在本地可用。这 会将包提取到特定位置,而是使应用程序或其他包能够从本地存储库获取包(即,无需下载)。

例如,要确保 "foo""bar" 在本地可用

sencha package get foo bar

要获取那些指定的包所需的所有包

sencha package get -recursive foo bar

选项

  • --force, -f - 忽略本地副本并(重新)从远程存储库获取
  • --recurse, -r - 还要递归获取所有必需的包

语法

sencha package get [options] packages...

位置:

  • packages - 要在本地获取的一个或多个包/版本

sencha package install

选项

  • --clean, -c - 在提取之前删除输出文件夹中的任何文件
  • --force, -f - 忽略本地副本并从远程存储库获取

语法

sencha package install [options] String[]...

位置:

  • String[] - 要安装的包的名称/版本

sencha package list

此命令列出存储库中的包。要列出可用的包,只需执行

sencha package list

要列出本地可用的包(无需下载),请执行以下操作

sencha package list .

否则,您可以指定要列出的包存储库的名称

sencha package list sencha

以上操作将列出 Sencha Cmd 包存储库的内容。

语法

sencha package list names...

位置:

  • names - 要列出的存储库(空白表示全部,或远程名称或 “.” 表示本地)

sencha package remove

从本地存储库中删除一个或多个包。

删除包 “foo” 的版本 1.2

sencha package remove [email protected]

删除 “foo” 的所有版本

sencha package remove foo@...

语法

sencha package remove packageNames...

位置:

  • packageNames - 要删除的一个或多个包/版本

sencha package upgrade

将当前包升级到较新的 SDK 或 Sencha Cmd 版本。

此命令必须从所需的包文件夹中运行。

选项

  • --full, -f - 设置生成的应用程序中是否包含 .sencha 文件夹。
  • --legacy, -l - 启用保留 .sencha/package 文件夹结构
  • --minimal, -m - 设置生成的应用程序中是否排除 .sencha 文件夹。

语法

sencha package upgrade [options] 

sencha phonegap

此命令将在 CMD 的未来版本中弃用。请参阅有关通过 app.json 而不是运行这些命令来设置多构建的信息。

Sencha Cmd 与 PhoneGap CLI 协同工作,以将您的应用程序打包为原生平台。PhoneGap CLI 允许在本地和通过 PhoneGap Build 远程构建原生应用程序。您可以在此处找到有关 PhoneGap Build 的更多信息

https://build.phonegap.com/

要将 PhoneGap 支持添加到您的应用程序,只需在您的应用程序目录中运行以下命令

// Initialize PhoneGap Support 
sencha phonegap init {APP_ID} {APP_NAME}

// Build the application and attempt to run it on a Device or in the Emulator
sencha app build -run native

有关将 Sencha Cmd 与 PhoneGap 结合使用的更多信息,请查阅此处找到的指南

https://extjs.cn/touch/2.3.0/#!/guide/cordova

命令

  • init - 将 PhoneGap 支持添加到您的应用程序

sencha phonegap init

这将为您的应用程序添加 PhoneGap CLI 支持。PhoneGap CLI 支持将允许在本地和远程为多个平台构建原生应用程序。

sencha phonegap init {APP_ID} {APP_NAME}

{APP_ID} 是可选的,包含本机应用程序中使用的应用程序 ID。这将默认为 foo.bar.{APP_NAME}

{APP_NAME} 是可选的,包含本机应用程序中使用的应用程序名称。这将默认为您的 sencha touch 应用程序的名称。

有关将 Sencha Cmd 与 PhoneGap 结合使用的更多信息,请查阅此处找到的指南

https://extjs.cn/touch/2.3.0/#!/guide/cordova

语法

sencha phonegap init Object[]...

sencha repository

这些命令管理本地存储库及其与远程存储库的连接。

远程存储库

本地存储库的主要作用是作为从一个或多个指定的远程存储库下载的包的缓存。默认情况下,Sencha Cmd 将 Sencha 包存储库添加为远程存储库。使用这些命令,您可以管理这些连接。

此命令添加名为 "foo" 的远程存储库连接

sencha repo add foo http://coolstuff.foo/packages

执行此命令后,将可以使用此存储库中包含的任何包。通常,通过将它们的名称(以及可能的版本)添加到应用程序的 "app.json"requires 数组中来使用这些包。

{
    requires: [
        '[email protected]'
    ]
}

然后

sencha app build

以上添加将需要版本 2.1 的 "cool-package"。将检查上面添加的远程存储库中是否包含此包,如果找到,则会将其下载到本地存储库并在其中缓存,并提取到您的应用程序的 "packages/cool-package" 文件夹中,并自动集成到您的构建中。

编写包

要为他人编写包以在其应用程序中使用,您将需要使用您的姓名初始化本地存储库

sencha repo init -name "My Company, Inc."

有关更多详细信息,请参阅这些

sencha help package
sencha help repo init

命令

  • add - 添加远程存储库连接
  • init - 初始化本地包存储库
  • list - 列出远程存储库连接
  • remove - 删除远程存储库连接
  • show - 显示存储库的详细信息
  • sync - 清除缓存以强制重新获取远程存储库

sencha repository add

添加远程存储库连接。添加后,来自该存储库的包将可供应用程序使用。

sencha repo add foo http://foo.bar/pkgs

选项

  • --address, -a - 远程存储库的地址(或 URL)
  • --beta, -b - 指示此新存储库包含 beta 包
  • --name, -n - 远程连接的名称

语法

sencha repository add [options] name \
                                address

sencha repository init

初始化本地存储库。本地存储库用于缓存包的本地副本(可能用于多个版本)。

注意: 此步骤通常不是必需的,因为本地存储库会自动在 “匿名” 模式下初始化。仅当您想要发布包供他人在其应用程序中使用时才需要此命令。要发布包,您必须初始化本地存储库并提供名称

sencha repository init -name "My Company, Inc." -email [email protected]

除了初始化存储库文件结构外,此命令还会生成公钥/私钥对并将它们存储在本地存储库中。私钥用于对添加到此本地存储库的包进行签名。

有关添加包的详细信息

sencha help package add

私钥

添加到本地存储库的 creator 属性等于赋予 sencha repository init 的名称的包将使用存储在本地存储库中的私钥进行签名。

在此 Sencha Cmd 版本中,这些签名仅用于测试包的完整性。您可以根据需要备份此密钥,但可以通过随时运行 sencha repo init 重新生成新密钥。在未来的版本中,备份您的私钥可能更重要。

远程访问

要使本地包存储库可用作远程存储库供他人访问,需要一些关于存储库磁盘结构的知识。默认情况下,Sencha Cmd 在其安装文件夹附近创建本地存储库。例如,给定 Sencha Cmd 的以下位置

/Users/myself/bin/Sencha/Cmd/3.1.0.200/

本地存储库位于

/Users/myself/bin/Sencha/Cmd/repo

这是为了允许您的本地存储库被较新版本的 Sencha Cmd 使用。要发布给其他人作为 HTTP URL 的文件夹是

/Users/myself/bin/Sencha/Cmd/repo/pkgs

重要提示: 不要 公开 "pkgs" 的父文件夹 - 该文件夹包含私有信息(例如您的私钥)。此外,Sencha Cmd 将无法识别该结构为有效的远程存储库。

如果您想在公共服务器上托管存储库,只需将 "pkgs" 文件夹复制到 Web 服务器并共享 HTTP 地址。

选项

  • --email, -em - 本地存储库所有者的电子邮件地址
  • --expiration, -ex - 密钥对失效前的年数
  • --keybits, -k - 公钥/私钥对的位数
  • --name, -n - 本地存储库所有者的名称

语法

sencha repository init [options] 

sencha repository list

列出所有远程存储库连接。

语法

sencha repository list 

sencha repository remove

从本地存储库的远程存储库列表中删除远程存储库。例如,如果之前添加了远程存储库

sencha repo add foo http://foo.bar/pkgs

此命令将删除它

sencha repo remove foo

注意: 此命令不会删除您可能从此远程下载的包,因为它们现在已缓存在本地存储库中。

选项

  • --name, -n - 远程连接的名称

语法

sencha repository remove [options] name

sencha repository show

显示有关远程存储库的信息。

要显示有关本地存储库的信息

sencha repo show .

要显示有关特定远程存储库的信息

sencha repo show some-remote

给定的名称应与之前赋予的名称匹配

sencha repo add some-remote ...

选项

  • --all, -a - 包括有关存储库的所有详细信息

语法

sencha repository show [options] names...

位置:

  • names - 远程存储库的名称(或 “.” 表示本地)

sencha repository sync

强制与远程存储库目录(重新)同步。通常,这是定期完成的,不需要手动同步。如果已知已将某些内容添加到远程存储库但尚未显示在此计算机上的目录中,则可能需要此命令。

sencha repo sync someremote

要与所有远程存储库重新同步

sencha repo sync

选项

  • --name, -n - 远程连接的名称(空白表示全部)

语法

sencha repository sync [options] [name]

sencha switch

此命令允许您在上次安装的 Sencha Cmd 的父目录中存在的 Sencha Cmd 版本之间切换。

要查看本地可用版本的列表,请使用 “list” 开关,此命令还将显示期望版本存在的路径

sencha switch --list

要切换到最新的本地可用版本,请在不带参数的情况下运行该命令

sencha switch

要切换到特定版本,请将其作为参数传递

sencha switch {version}

选项

  • --list, -l - 列出可用版本

语法

sencha switch [options] [version=""]

sencha template

此类别提供用于处理模板的命令

命令

  • apply - 应用模板以生成其输出
  • info - 此命令显示有关模板的所有可用信息
  • list - 此命令列出当前工作区中的所有现有模板
  • read - 读取 JSON 文件以提供模板的数据

sencha template apply

选项

  • --data, -d - 设置名称/值对(也可以使用 -Dname=value)
  • --name, -n - 模板的名称
  • --output, -o - 输出目录

语法

sencha template apply [options] name

sencha template info

选项

  • --name, -n - 模板的名称

语法

sencha template info [options] name

sencha template list

语法

sencha template list 

sencha template read

选项

  • --name, -n - 要加载的 JSON 文件的名称

语法

sencha template read [options] [name]

sencha theme

此类别包含用于管理主题的底层命令。通常,这些操作由 sencha app build 和/或 sencha package build 处理。

命令

  • build - 从给定页面构建自定义主题
  • capture - 捕获主题的图像和 slicer 清单
  • slice - 根据 JSON 清单从给定图像生成图像切片

sencha theme build

此命令将构建指定主题的图像精灵。

重要提示:此命令仅应用于 Ext JS 4.1 应用程序。对于 Ext JS 4.2 应用程序,主题现在是 packages,应使用 sencha package build 过程进行管理。

选项

  • --environment, -en - 构建环境(例如,production 或 testing)
  • --output-path, -o - 切片图像的目标路径
  • --page, -p - 要切片的页面
  • --theme-name, -t - 要构建的主题的名称

语法

sencha theme build [options] [theme-name] \
                             [environment]

sencha theme capture

此命令将捕获指定页面的图像和切片清单。

很少需要直接调用此命令,因为它是主题构建过程的一部分。在 Ext JS 4.2 应用程序或主题包中,此命令由构建脚本的 slice 步骤调用。在 Ext JS 4.1 应用程序中,为每个应用程序主题或直接由 “sencha theme build” 命令调用此命令。

例如,这大致是主题包的 slice 步骤执行的命令

sencha theme capture -page sass/example/theme.html \
                     -image build/theme-capture.png \
                     -manifest build/theme-capture.json

一旦生成图像和 slicer 清单,sencha fs slice 命令将提取 Internet Explorer 所需的背景图像和精灵。

选项

  • --base, -b - 设置用于解析相对路径的基目录。
  • --image-file, -i - 输出图像(例如 “theme-capture.png”)
  • --manifest, -m - 输出切片清单(例如 “theme-capture.json”)
  • --page, -p - 要加载以捕获主题内容的页面

语法

sencha theme capture [options] 

sencha theme slice

此命令执行图像切片和操作,由 JSON 清单文件的内容驱动。清单文件包含图像区域定义的数组,这些定义进一步包含要制作的“切片”集。

此文件和相应的图像通常作为主题包构建的一部分为主题生成。有关此过程的详细信息,请查阅本指南

https://extjs.cn/ext-js/4-2/#!/guide/command_slice

选项

  • --format, -f - 要保存的图像格式 - “png” 或 “gif”(默认)
  • --image, -i - 要切片的图像
  • --manifest, -m - 切片器清单 (JSON) 文件
  • --out-dir, -o - 写入切片图像的根文件夹
  • --quantized, -q - 启用图像量化(默认为 true)
  • --tolerate-conflicts, -t - 容忍切片清单中的冲突

语法

sencha theme slice [options] 

sencha upgrade

此命令下载并安装当前版本的 Sencha Cmd。或者您可以指定要安装的版本作为命令的一部分。

以下命令下载并安装当前版本的 Sencha Cmd

sencha upgrade

此命令下载特定版本

sencha upgrade 3.0.2.288

如果请求的版本是已安装的版本,则默认情况下,此命令将不执行任何操作。可以使用 --force 强制执行。

sencha upgrade --force

如果请求的版本是 PATH 中的版本,则该命令将退出并显示一条消息,指示无法升级当前版本。在这种情况下,--force 选项将被忽略。

选项

  • --all, -a - 安装所有可选组件
  • --beta, -b - 检查最新的 beta 或 RC 版本(与稳定版本相对)
  • --check, -c - 仅检查升级,但不安装
  • --force, -f - 即使版本已安装也强制(重新)安装
  • --nojre, -n - 仅限 Windows 和 Mac:使用不带捆绑 JRE 的安装程序(保持当前 JRE 使用)
  • --unattended, -u - 以静默/无人值守模式运行安装程序

语法

sencha upgrade [options] [version=""]

sencha web

此类别提供用于管理基于 Jetty 的简单 HTTP 文件服务器的命令(请参阅 http://www.eclipse.org/jetty/)。

以下命令是最简单的形式

sencha web start

这将在默认端口上启动 Web 服务器,并将当前目录 “挂载” 为 Web 根目录。此命令将阻止终端,因此您可以使用 CTRL+C 结束该进程。

如果这是作为后台进程启动的,则可以使用此命令从另一个终端停止服务器

sencha web stop

可以从命令行或使用配置属性 cmd.web.port 指定使用的端口。例如

sencha web -port 8080 start

并停止上述操作

sencha web -port 8080 stop

有关 Web 根目录的详细信息,请参阅 sencha web start 上的控制台帮助

sencha help web start

注意: 这些是不相关于当前应用程序的底层命令。对于应用程序,请考虑使用 sencha ant web-startsencha ant web-stopweb-start 目标。

当使用 sencha app watch 命令时,将自动启动 Web 服务器,因此 sencha web startsencha ant web-start 命令都不是必需的

选项

  • --port, -p - 设置 Web 服务器的端口
  • --ssl-port, -s - 设置 Web 服务器的端口

命令

  • start - 在端口上启动静态文件 Web 服务器
  • stop - 停止特定端口上的本地 Web 服务器

sencha web start

此命令启动 Web 服务器并将请求路由到指定的文件。例如

sencha web start

这将在默认端口将当前目录 “挂载” 为 Web 根目录。如果需要,可以指定端口

sencha web -port 8000 start

要停止服务器,请按 CTRL+C,或者您可以分别使用以下命令(从另一个终端)

sencha web stop

sencha web -port 8000 stop

Web 根目录

默认情况下,sencha web start 挂载当前目录,以便所有文件和文件夹都可以在 Web 服务器 URL 的根目录中使用。有时您可能需要将各种文件夹连接到公共 Web 根目录中。为此,请使用 -map 开关,如下所示

sencha web start -map foo=/path/to/foo,bar=/another/path

给定以上内容,在浏览器中输入的以下 URL 将显示 "/path/to/foo" 中的文件

https://127.0.0.1:8000/foo

此 URL 将显示 "/another/path" 中的文件

https://127.0.0.1:8000/bar

有关 Sencha Cmd Web 服务器的更多详细信息,请运行以下命令

sencha help web

注意: 这些是不相关于当前应用程序的底层命令。对于应用程序,请考虑使用 sencha ant web-startsencha ant web-stopweb-start 目标。

如果应用程序根目录中存在 web.xml 文件,则此命令可以尝试使用它,通过使用 -j, --j2ee 开关来建立 J2EE 应用程序的上下文。

sencha web start --j2ee

重要的是要注意,此命令仅在 J2EE 应用程序的所有依赖项已在类路径中时才有效,因为 Sencha Cmd 在安装过程中不包含它们。(例如 servlet-api.jar)。

选项

  • --cmd-mount, -c - 启用将 cmd 安装目录映射为 /~cmd。
  • --j2ee, -j - 在服务器根目录中使用 web.xml 文件作为 J2EE 应用程序的上下文。
  • --mappings, -m - 本地文件夹列表(例如:[sub=]/path/to/folder)

语法

sencha web start [options] 

sencha web stop

此命令停止先前由 sencha web start 启动的 Web 服务器。

如果服务器是通过此命令启动的

sencha web start

此命令将停止该服务器

sencha web stop

如果您使用的是自定义端口,则这些端口必须匹配。例如

sencha web -port 8000 start

从另一个终端或控制台,这将停止服务器

sencha web -port 8000 stop

注意: 这些是不相关于当前应用程序的底层命令。对于应用程序,请考虑使用 sencha ant web-startsencha ant web-stopweb-start 目标。

语法

sencha web stop 

sencha which

此命令显示 Sencha Cmd 的位置。

sencha which
C:\Users\Me\bin\Sencha\Cmd\3.1.0.220

选项

  • --output, -o - 用于写入位置作为属性的输出属性文件的名称
  • --property, -p - 要写入输出属性文件中位置的属性名称

语法

sencha which [options] 

sencha workspace

此命令类别允许您管理当前工作区。

当前工作区由当前目录或其任何父目录中是否存在 workspace.json 文件来确定。

命令

  • cleanup - 删除工作区 cfg 文件中不再引用现有应用程序的应用程序条目。
  • init - 将当前目录初始化为 Sencha Cmd 工作区。
  • install - 重新填充当前工作区中任何 Sencha Cmd 应用程序或框架的缺失部分
  • upgrade - 对工作区中的所有应用程序和包执行 upgrade

sencha workspace cleanup

此命令删除工作区 "workspace.json" 文件中不再引用现有应用程序的任何应用程序条目。

$ sencha workspace cleanup

(可选)通过使用 --frameworks 开关,它可以删除工作区中不再存在的框架条目(即,目录已被手动删除),并且不再被工作区中的任何应用程序使用。

$ sencha workspace cleanup --frameworks

选项

  • --apps, -a - 从 workspace.json 中删除过期的应用程序条目。默认为 true。
  • --frameworks, -f - 从 workspace.json 中删除过期的框架条目。

语法

sencha workspace cleanup [options] 

sencha workspace init

此命令将当前目录初始化为 Sencha Cmd 工作区。

如果在现有工作区内运行,则不会发生任何事情。

语法

sencha workspace init 

sencha workspace install

install 命令将重新填充当前工作区中任何 Sencha Cmd 应用程序或框架的缺失部分。 这些部分通常不存储在版本控制系统中(例如,Sencha 框架)。

重要提示 在工作区上运行此命令之前,需要 Sencha 框架或 SDK。所需的框架取决于工作区中各种应用程序的需求。这通常是商业许可版本,可以从 Sencha 支持门户下载。以下示例假设必要的 Sencha 框架已下载并解压缩到主目录 ("~/sencha-sdks") 中的 "sencha-sdks" 文件夹中。

此命令将在 "workspace.json"apps 属性中列出的所有应用程序上运行 sencha app install

$ sencha workspace install --frameworks=~/sencha-sdks

为了简化此过程,您可以配置 Sencha Cmd 以始终使用 "~/sencha-sdks" 中的框架,方法是运行以下命令

$ sencha config --prop sencha.sdk.path=~/sencha-sdks --save

执行上述命令后,install 命令简化为

$ sencha workspace install

有关设置 Sencha Cmd 开关和其他配置选项的更多信息,请查阅 Web 上的“高级 Sencha Cmd”指南

https://extjs.cn/cmd/guides/advanced_cmd/cmd_advanced.html#advanced_cmd-_-cmd_advanced_-_configuration_files

选项

  • --frameworks, -f - 包含要从中恢复的多个框架版本的目录路径
  • --shallow, -s - 执行浅层安装(仅工作区级别)

语法

sencha workspace install [options] [frameworks]

sencha workspace upgrade

此命令对工作区中的所有应用程序和包执行 upgrade

要升级框架,请使用 sencha framework upgrade。有关更多信息,请参阅 sencha help framework upgrade

要升级一个应用程序的框架,请使用 sencha app upgrade。有关更多信息,请参阅 sencha help app upgrade

选项

  • --shallow, -s - 仅升级工作区元数据,跳过应用程序和包

语法

sencha workspace upgrade [options] 

Cmd 7.8.0