许多类在使用配置对象创建(实例化)类时都有快捷名称。快捷名称被称为 别名
(alias
)(如果类扩展了 Ext.Component,则为 xtype
)。别名/xtype 列在适用类的类名旁边,以供快速参考。
框架类或其成员可以指定为 private
(私有的)或 protected
(受保护的)。否则,类/成员是 public
(公共的)。Public
、protected
和 private
是访问描述符,用于传达类或类成员应如何以及何时使用。
Public(公共的) 类和类成员可供任何其他类或应用程序代码使用,并且在主要产品版本中可以作为稳定且持久的内容依赖。公共类和成员可以通过子类安全地扩展。
Protected(受保护的) 类成员是稳定的 public
(公共的)成员,旨在由拥有类或其子类使用。受保护的成员可以通过子类安全地扩展。
Private(私有的) 类和类成员在框架内部使用,不供应用程序开发人员使用。私有类和成员可能会随时更改或从框架中省略,恕不另行通知,并且不应在应用程序逻辑中依赖它们。
static
(静态)标签。*请参阅下面的静态。下面是一个示例类成员,我们可以对其进行剖析,以展示类成员的语法(在本例中是从 Ext.button.Button 类查看的 lookupComponent 方法)。
让我们看一下成员行的每个部分
lookupComponent
)( item )
)Ext.Component
)。对于不返回任何内容(undefined
除外)的方法,可以省略此项,或者可以显示为用斜杠 /
分隔的多个可能值,表示返回的内容可能取决于方法调用的结果(即,如果 get 方法调用成功,方法可能会返回 Component,如果失败,则返回 false
,这将显示为 Ext.Component/Boolean
)。PROTECTED
- 请参阅下面的标志部分)Ext.container.Container
)。如果成员源自当前类,则源类将显示为蓝色链接;如果它从祖先类或混合类继承而来,则显示为灰色。view source
)item : Object
)。undefined
以外的值,则“返回值”部分将注明返回的类或对象类型以及描述(示例中为 Ext.Component
)Available since 3.4.0
- 示例中未显示),紧随成员描述之后Defaults to: false
)API 文档使用许多标志来进一步传达类成员的功能和意图。标签可以用文本标签、缩写或图标表示。
classInstance.method1().method2().etc();
false
,则标记为可阻止的事件将不会触发- 表示框架类
- 单例框架类。*有关更多信息,请参阅单例标志
- 组件类型框架类(Ext JS 框架中扩展 Ext.Component 的任何类)
- 表示类、成员或指南在当前查看的版本中是新的
- 表示 config
类型的类成员
- 表示 property
类型的类成员
- 表示 method
类型的类成员
- 表示 event
类型的类成员
- 表示 theme variable
类型的类成员
- 表示 theme mixin
类型的类成员
- 表示类、成员或指南在当前查看的版本中是新的
在 API 文档页面上的类名正下方是一行按钮,对应于当前类拥有的成员类型。每个按钮显示按类型划分的成员计数(此计数会随着过滤器的应用而更新)。单击按钮将导航到该成员部分。将鼠标悬停在成员类型按钮上将显示该类型的所有成员的弹出菜单,以便快速导航。
与类配置选项相关的 Getter 和 Setter 方法将显示在方法部分以及 API 文档和成员类型菜单的配置部分中,紧挨着它们所作用的配置下方。Getter 和 Setter 方法文档将在配置行中找到,以便于参考。
您的页面历史记录保存在本地存储中,并显示在顶部标题栏正下方(使用可用的实际空间)。默认情况下,显示的唯一搜索结果是与您当前查看的产品/版本匹配的页面。您可以通过单击历史记录栏右侧的 按钮并选择“全部”单选按钮来展开显示的内容。这将显示历史记录栏中所有产品/版本的所有最近页面。
在历史记录配置菜单中,您还将看到最近页面访问的列表。结果按“当前产品/版本”和“全部”单选按钮过滤。单击 按钮将清除历史记录栏以及本地存储中保存的历史记录。
如果在历史记录配置菜单中选择了“全部”,则将启用“在历史记录栏中显示产品详细信息”复选框选项。选中后,每个历史页面的产品/版本将与历史记录栏中的页面名称一起显示。将光标悬停在历史记录栏中的页面名称上方也会将产品/版本显示为工具提示。
可以使用页面顶部的搜索字段搜索 API 文档和指南。
在 API 文档页面上,还有一个过滤器输入字段,可以使用过滤器字符串过滤成员行。除了按字符串过滤外,您还可以按访问级别、继承和只读来过滤类成员。这是通过使用页面顶部的复选框完成的。
API 类导航树底部的复选框过滤类列表,以包含或排除私有类。
单击空的搜索字段将显示您最近 10 次的搜索,以便快速导航。
每个 API 文档页面(Javascript 原始类型页面除外)都有一个与该类相关的元数据菜单视图。此元数据视图将具有以下一项或多项
Ext.button.Button
类具有 Ext.Button
的备用类名称)。备用类名称通常是为了向后兼容性而维护的。可运行的示例 (Fiddles) 默认在页面上展开。您可以使用代码块左上角的箭头单独折叠和展开示例代码块。您还可以使用页面右上角的切换按钮切换所有示例的折叠状态。切换所有状态将在页面加载之间记住。
类成员默认在页面上折叠。您可以使用成员行左侧的箭头图标或右上角的展开/折叠所有切换按钮全局展开和折叠成员。
在较窄的屏幕或浏览器上查看文档将导致针对较小外形尺寸优化的视图。桌面视图和“移动”视图之间的主要区别是
可以通过单击 API 文档页面顶部的类名来查看类源代码。可以通过单击成员行右侧的“view source(查看源代码)”链接来查看类成员的源代码。
使用 Open Tooling、@sencha/[email protected]
和更高版本,您可以通过 npm 脚本传递环境选项来解锁 Sencha Cmd 的许多构建功能。这些选项随后通过 Sencha 的自定义 webpack 插件发送到 Sencha Cmd。
Open Tooling 在底层使用 Sencha Cmd 来驱动 Ext JS 构建过程。如果您以前未使用过 Sencha Cmd,您可能需要先阅读此 Sencha CMD 参考。
为了利用这个新的 ext-gen
功能,我们的大部分工作将在 npm 用作清单的 package.json
文件中完成。当您使用 ext-gen
创建 Ext JS 开放工具应用程序时,将创建此文件。
请注意 package.json
文件中的 scripts 对象。这些脚本像通常的 JSON 键值对一样编写,其中键是脚本的名称,值包含您要执行的脚本。
这是一个例子
"scripts": { "start": "node index.js", ...}
Sencha CMD 提供了一种智能方式,让您的生产应用程序通过使用 package-loader
包来动态加载包。此包可在 Sencha 的私有 npm 注册表 https://npm.sencha.com
或通过 Sencha Cmd 管理的 Sencha 包存储库获得。
配置 app.json
以使用 package-loader
包,方法是将其添加到 requires:[]
数组中,如下所示
"requires":[
"package-loader"
]
Sencha Cmd 将自动下载并将 package-loader
包安装到您的应用程序的 packages 目录中。
通过将 uses:[...]
数组添加到 app.json
并为您要动态加载的每个包添加新条目,来配置您需要动态加载的包。
"uses":[
"my-custom-view-package",
"ext-calendar"
]
通过 webpack 插件传递环境变量 --env.cmdopts=--uses
,从您的脚本启用动态包加载器。您可能会认出这与 Sencha Cmd CLI 使用的标志相同。Sencha 的自定义 webpack 插件将变量 cmdopts
公开给您的 npm 脚本。在 webpack 插件中,此变量被解析为 Sencha Cmd 的构建选项数组。
"build": "npm run clean && cross-env webpack --env.profile=desktop --env.treeshake=yes --env.verbose=no --env.cmdopts=--environment=production --env.cmdopts=--uses"
运行您的构建脚本(默认值随 7.4 生成的应用程序提供),确保在环境变量中设置了 cmpopts
,并观察您的包动态加载!
浏览 动态包加载器 文档以获取更多信息。
Ext JS 应用程序有 3 种不同的构建类型。
注意:--env.cmdopts
取代 --env.environment
当使用 ext-gen
开发应用程序时,您需要一个本地 Web 服务器,该服务器会在您开发源文件时自动更新。npm start
默认脚本使用 Sencha Cmd app watch
命令来构建应用程序的开发副本并将其托管在本地 Web 服务器上。app watch
“监视”文件更改并触发重新加载。
// Development build
"dev": "webpack-dev-server --env.profile=desktop --env.browser=yes --env.verbose=no --env.cmdopts=--environment=development --env.cmdopts=--uses",
在为生产构建之前,测试您构建的应用程序非常重要。测试构建为您提供了一种构建和压缩代码的方法,而无需缩小和混淆代码。这为您提供了一种在“人类可调试”模式下轻松调试已构建应用程序的方法。运行测试构建脚本并确保设置了 --env.cmdopts
。这将指示 webpack 将选项传递给 Sencha CMD。
// Testing build
"build:testing": "npm run clean && cross-env webpack --env.profile=desktop --env.treeshake=yes --env.verbose=yes --env.cmdopts=--build=desktop --env.cmdopts=--environment=testing --env.cmdopts=--uses --env.cmdopts=--destination=testing"
// Production Build
"build": "npm run clean && cross-env webpack --env.profile=desktop --env.treeshake=yes --env.verbose=yes --env.cmdopts=--environment=production --env.cmdopts=--uses",
以下 cmdopts
在 Open Tooling ext-gen
应用程序中作为 Sencha Cmd 构建序列 的选项被允许
选项
--archive, -a
- 存储所有先前构建的目录路径。--build, -build
- 选择在 'builds' app.json 中指定的构建名称以用于构建--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”)语法
--env.cmdopts=--option || -opt