资讯详情

Ext JS 7.8环境搭建指南:从授权安装到Grid/Chart/Form实战

📅 2026/10/24 11:39:18 | 华诺云谱 👁 阅读
Ext JS 7.8环境搭建指南:从授权安装到Grid/Chart/Form实战
简介面向具备一定JavaScript基础的开发者这份Sencha Ext JS 7.8入门指南主要聚焦企业级前端应用开发适合希望快速上手复杂框架的个人与团队。文档从框架特性与优势讲起系统说明了许可证获取、命令行工具安装、npm环境管理、IDE选择以及项目结构配置等关键环节并通过数据网格、柱状图、表单捕获等可运行示例帮助读者逐步掌握MVC架构下视图与组件的构建方法每个阶段都配有操作要点与注意事项能够有效降低学习过程中的踩坑概率。资源为单个PDF文件大小仅2.65MB内容紧凑可作为日常查阅的随身手册。目前已有193人学习下载。读者能从中获得从零到一的完整路径环境搭建、项目生成、核心组件实战文档采用目录式结构便于快速定位代码片段与额外学习资源推荐可支撑后续深入实践适合用于企业级应用开发学习与团队内部技能提升。1. Ext JS 7.8 环境搭建先把 Classic 和 Modern 分清楚再装机做企业级前端的人迟早会遇到一个尴尬项目里又要复杂表格、又要统计图表、又要一堆表单联动散装组件拼起来总差一口气。我第一次动心评估 Ext JS就是因为一个后台管理系统的表格需求比需求文档还长。Sencha Ext JS 7.8 确实是冲着这个场景来的140 多个开箱即用的组件从 Grid 到 Chart 到 Form数据可视化、MVC 架构都给你预制好了。但别高兴太早这套环境装起来有几个坎授权方式绕、Sencha Command 装完可能不在 PATH、生成项目时 Toolkit 选错后面整体翻车。本文是一份落地笔记从下载授权、安装命令行工具、创建工程到做出网格、柱状图、表单三个视图照着做就能把环境跑通适合已有 JavaScript 基础、打算构建复杂企业级应用的开发者。2. 获取与安装从试用授权到 Sencha Command 落地2.1 授权选择Trial 和 Commercial 的安装差异Sencha Ext JS 的安装和普通开源框架不一样它不是 npm install 一把梭而是先要有一份有效授权再通过 Sencha Command 这个中枢工具完成下载、生成、构建。目录里专门把授权流程分成了 Trial 和 Commercial 两类这点值得先讲清楚因为后面所有命令能不能跑起来都取决于此。Trial 版走的是官网的产品评估页面填完联系信息之后你会拿到一个下载入口里面通常直接给到 Sencha Command 的安装包和对应的 Ext JS 7.8.0 版本。Trial 授权适合先跑通编译链路、熟悉模板项目但我不建议拿它做长线开发因为构建 production 环境时会有授权相关的限制而且评估期一过环境里会残留一些需要清理的配置。Commercial 版的关键差别在于多了一步 Software Activation也就是在安装之前先激活软件。激活之后能拿到完整的 SDK 内容和受支持的组件包包括官方文档里提到的 Sencha Architect可视化低代码编辑器、Sencha Themer主题设计工具、Rapid Ext JSVS Code 插件以及 ReExt接 React 项目的桥接组件。Trial 版虽然也能看到这些工具的介绍但商业授权下才会解锁完整能力。提示如果只是学习安装流程和组件用法先用 Trial 授权完全够用公司采购流程走完之后再按 Commercial 流程重装环境别在 Trial 上硬做生产项目。2.2 安装 Sencha Command三步走和一个多余组件Sencha Command 是整个环境的中枢。下载下来是一个安装包Windows 下解压后直接运行安装器即可。安装过程本身不长真正容易翻车的是组件选择和系统拦截。# 解压安装包后在解压目录执行安装器 # 安装包名以官网下载页实际文件名为准通常是 SenchaCmd-[版本]-windows-amd64.exe .\SenchaCmd-[版本]-windows-amd64.exe执行安装器后会进入安装路径的选择默认路径通常没问题但我更建议装到一个不带空格的纯英文目录下比如D:\DevTools\SenchaCmd。原因很朴素后面sencha命令生成的临时脚本和缓存路径会和安装路径强相关中文目录或带空格的路径在极少数情况下会让批处理脚本解析出错。安装过程中有一个组件选择界面里面会出现 Compass 扩展。这是 Ext JS 老版本用来编译 SCSS 样式文件的工具链7.8.0 已经完全用不上。我的做法是直接取消勾选少装一个不用的东西以后排查环境问题就少一个干扰项。Windows 用户在这里大概率会被 Microsoft Defender 拦一次弹出的警告窗口选择 Run Anyway 继续即可。这不是什么玄学问题就是安装器需要写系统目录和 PATH 环境变量Defender 对这种行为比较敏感。2.3 验证 PATH装完第一件事是重开终端安装完成后打开一个新的 PowerShell 窗口执行下面这条命令确认命令行工具已经生效sencha which如果返回一段带版本号和安装路径的信息说明装好了。如果提示“sencha 不是内部或外部命令”那就说明 PATH 没有生效。常见原因是安装成功后没有重开终端或者安装器只写了当前用户的 PATH 而你在管理员窗口里检查的是系统级 PATH。我一般会手工补一条 PATH。假设 Sencha Command 装在了D:\DevTools\SenchaCmd\7.8.0\bin那么# 追加 Sencha Command 的 bin 目录到当前用户 PATH setx PATH %PATH%;D:\DevTools\SenchaCmd\7.8.0\bin注意 setx 是写注册表里的用户环境变量改完以后当前窗口依然读不到新值必须新开一个终端再跑sencha which。这一步我踩过一次很深的坑在旧窗口里反复执行 sencha 一直失败还以为是安装包坏了实际上是 PATH 没刷新。2.4 用 npm 管理环境适合 Node 重度用户的另一条路如果你本身就在 Node 生态里干活Sencha 也提供了基于 npm 的环境管理方式。这个方法和 ZIP 安装的区别在于依赖来源和工程组织方式变了——框架依赖会写进 package.json后续升级更集中整个环境更像一个普通 Node 工程。官方文档里有两份对照指南一份叫 Getting Started with the ZIP File另一份叫 Getting Started with NPM。ZIP 路径更适合照着我前面写的流程走npm 路径适合团队里已经有统一 Node 版本管理比如用 nvm 固定 Node 版本的场景。走 npm 路线时有个实际的坑公司内网如果配了私有 npm registry需要确认 Ext JS 相关依赖能从配置的源拉下来否则会卡在依赖解析阶段一直不动。我一般会先单独建一个目录模拟 npm 全局前缀再在当前会话里执行官方提供的一次性配置脚本。说白了npm 方式是给爱干净的人准备的但前提是你对 npm 的全局环境、registry 配置有一定掌控力否则还是老实用 ZIP 安装更省心。3. 创建并构建项目sencha generate app 与 build 参数拆解3.1 项目文件夹与模板概念在跑sencha generate app之前先把身上带的“通用框架思维”放下。Ext JS 的工程不是简单拉一个脚手架就完事的它的核心逻辑是 Ext JS 7.8 自带多套项目模板既有默认基础模板也有商业授权下可选的更多模板。模板决定了一个新工程拥有哪些预设目录、示例代码和组件配置。首先确定项目要放哪个目录。如果你打算用 Sencha 自带的测试服务器跑开发预览项目文件夹放在哪都行Windows 下比如D:\SenchaProject\。如果你要对接商业 Web 服务器那就得遵守服务器那边的目录规则不能随便放。注意项目路径里同样不建议出现中文和空格。这不是危言耸听构建工具在解析绝对路径时遇到空格有些脚本会断在引号处理上。3.2 生成应用命令参数逐个说明打开 PowerShell 的方式有两种各取习惯一种是在 Windows 资源管理器里按住 Shift 并右键项目目录选择“在此处打开 PowerShell 窗口”另一种是 Win R 输入 powershell 再手动 cd。进入项目目录之后执行# toolkit 可选 classic 或 modern-ext 表示使用本地已安装的 Ext JS SDK sencha generate app classic -ext MyApp ./把这行命令拆开看sencha是命令入口generate app是生成应用的动作classic是 Toolkit 类型-ext告诉命令使用当前环境里已安装的 Ext JS 版本MyApp是应用名称必须符合变量命名规范不能带横杠、不能数字开头最后的./表示生成到当前目录。这里 Toolkit 的选择是整个命令里最重要的参数。Classic Toolkit 主要用 JavaScript 渲染视图面向桌面端 Web 应用优化Modern Toolkit 用 CSS 渲染视图面向平板和手机优化。注意这俩不是“手机只能用 Modern”的绝对关系两者都可以跑在任何平台只是侧重点不同。做后台管理系统、传统桌面风格界面就选 classic做移动端 H5、响应式触屏界面就选 modern。执行成功后当前目录下会生成完整的工程骨架。命令行输出的最后一两行会提示你项目已经创建完成如果卡在某个进度条上不动多半是网络拉取 SDK 依赖出问题回头查一下授权是否已激活。3.3 构建环境development 与 production 的取舍项目生成之后不能直接点开看必须先构建。Sencha Command 提供三类环境构建我平时用得最多的是前两个# 开发环境构建速度快保留调试信息 sencha app build development # 测试环境构建模拟接近生产的包体 sencha app build testing # 生产环境构建压缩混淆用于最终部署 sencha app build productiondevelopment 环境每次改动后构建都很快适合日常调试。它的产物体积大包含源码映射和未压缩模块浏览器里还能看到原始类名。testing 环境则更接近生产形态但不做极致压缩方便测试同事在不暴露源码的情况下部署到仿真环境。production 会做完整的代码合并、压缩和资源指纹化构建时间也最长。Trial 授权下跑 production 构建偶尔会在某个环节提示授权相关的问题这是评估版限制不是环境坏了。遇到这种情况先退回 development 继续开发等商业授权处理好再出包。4. 项目骨架与 MVC模板结构、导航编辑与 Ext.define/Ext.create4.1 看懂 Ext JS 项目文件结构生成完的基础模板项目目录看起来比普通 Node 工程多了一层抽象。打开根目录会发现几个关键组成部分app目录放的是业务代码下面按view、controller、store、model组织resources目录放静态资源sass目录放样式源码根目录下还有app.json这个项目配置文件它定义了应用名称、页面入口、要加载的组件包等元信息。我第一次打开这个结构时有点不适应因为页面不是从 index.html 直接搭出来的而是从app.json里声明的应用入口启动再由框架负责加载 Viewport、主视图和对应的控制器。这种设计的底层逻辑就是官方强调的 MVC 架构Model 负责数据字段定义Store 负责数据获取和缓存View 负责界面渲染Controller 负责业务逻辑和事件分流。IDE 选择上Visual Studio Code 配 Rapid Ext JS 插件是当下比较顺手的组合。这插件能简化 Ext JS 视图创建带属性检查器写组件配置时能少翻不少文档。如果没有这个插件单靠纯文本编辑也能写只是提醒你Ext JS 的配置项非常多没有提示就特别容易漏逗号或写错属性名。4.2 编辑导航从模板菜单到自定义页面基础模板项目默认自带一个带导航侧栏和正文区域的页面骨架。要往导航里加内容打开模板的导航视图文件找到 menu 段落的配置数据源向其中追加一条新的菜单项即可。// 假设导航配置文件是 app/view/main/MainView.js 中 navigation 字样出现的位置 // 这里是简化后的菜单项数组真实模板里会带图标和路由字段 items: [ { text: Dashboard, iconCls: x-fa fa-home }, { text: 用户管理, iconCls: x-fa fa-users }, { text: 数据网格示例, iconCls: x-fa fa-table } ]菜单项里的text是显示文本iconCls对应的是一组图标类名。注意每条菜单项本身只负责“在导航里显示一环”点击之后要切换右侧内容区还需要联动主控制器里的逻辑或者靠路由配置把菜单和视图对应起来。第一次做示例时建议把菜单项的 dismissed 配置和视图引用的路径保持一致这样点进去不会白屏。4.3 MVC 的两个基础方法Ext.define 与 Ext.create在 Ext JS 代码里出现频率最高的两个 API 就是Ext.define和Ext.create。前者用来定义一个新的类包括配置项、方法、继承关系后者用来实例化一个已经定义的类。这个区别必须分清楚因为示例代码里经常先 define 一个类然后在别处 create 它。// 定义一个数据模型类 Ext.define(MyApp.model.Person, { extend: Ext.data.Model, fields: [name, age, city] }); // 在视图逻辑中创建该模型的实例 let person Ext.create(MyApp.model.Person, { name: 张三, age: 30, city: 上海 });上面这段代码体现了 MVC 里 M 那一层最常见的写法用Ext.define声明模型字段再用Ext.create构造数据对象。extend声明继承自哪个基类fields定义字段名称实例化时传入的对象会按字段规则解析。如果字段名拼写不一致后面的数据展示环节会得到 undefined 而不是报错这一点尤其容易把人带偏。5. 常见问题与排查从安装到构建的 5 个经典翻车现场5.1 安装与命令执行阶段的典型问题现象一执行sencha which报“不是内部或外部命令”重装一遍还是找不到。原因99% 是 PATH 没有生效不是安装坏了。最常见的是安装后没有新开终端旧窗口的环境变量快照里没有 Sencha Command 的 bin 目录。解决先重开 PowerShell再跑一次sencha which。如果还是不行用where.exe sencha查找安装路径找到后手动执行setx PATH %PATH%;实际bin目录设置完再重开终端。现象二安装器被 Microsoft Defender 拦截显示未知发布者警告。原因安装器需要写入系统目录和修改环境变量Defender 对这类行为默认保守。解决点击 Run Anyway 继续。如果你在公司域环境里组策略可能禁止直接放行那就找 IT 申请白名单或者下载时核对官方校验值确保下载的安装包没被改动过。现象三安装时勾选了 Compass 扩展后面构建时满屏 Ruby 相关报错。原因Compass 是老版本 Ext JS 用来编译样式的组件7.8.0 已经不需要但装了它会在构建链路里引入一套额外的样式编译逻辑环境里没有对应的 Ruby 环境就会报错。解决卸载 Sencha Command 重装安装时取消勾选 Compass 扩展。也可以用系统自带的“应用和功能”先卸载再装顺手把遗留的样式编译临时文件清掉。5.2 项目生成与构建阶段的典型问题现象四执行sencha generate app classic -ext MyApp ./卡在下载进度条或者报 SDK 引用错误。原因常见两个方向一是授权未激活或 Trial 过期导致 SDK 拉不下来二是网络到官方资源服务器不通下载动作一直在重试。解决先确认授权状态如果走的是 Commercial 流程重新执行软件激活步骤。网络问题则检查公司代理配置必要时给命令行工具设置代理环境变量或者换网络环境再试。这里没有捷径卡住时看日志里的 URL手动访问一下就知道是授权还是网络问题。现象五菜单点击后右侧内容区白屏浏览器控制台报找不到类名。原因我见过最多的一种情况是在新视图文件里写了Ext.define(MyApp.view.ExampleGrid)却没有在app.json的 views 数组里声明这个类也没在控制器里用 requires 引入。Ext JS 的类加载机制依赖这些声明缺了它运行时不知道要加载哪个文件。解决在app.json的views节点里追加新视图类的完整类名或在对应控制器顶部加requires: [MyApp.view.ExampleGrid]。改完重新构建 development 环境再刷新页面。6. 装完怎么验证跑通Grid、Chart、Form 三视图本地运行检查新环境装完与其对着官方文档一行行看不如直接拿三个视图去验证链路通不通数据网格Data Grid、柱状图Bar Chart、表单Form。这三个刚好对应数据可视化、图表渲染、交互收集三大高频场景也是 Ext JS 对外宣传最重的卖点所以只要它们能跑通这套环境基本就没问题。先起开发服务器。在项目根目录执行sencha app watch这个命令会启动一个本地测试服务器并监听代码变化改完源码自动触发增量构建浏览器刷新就能看到效果。在浏览器里打开控制台确认没有红色报错然后按导航菜单依次进入数据网格示例。网格能显示分页数据、表头能排序、筛选框输入后列表能过滤说明数据链路通了。数据不通时优先检查拉数据用的类配置字段名是否和服务器返回的 JSON 字段匹配以及数据源返回的是数组还是带 root 属性的对象这两处最容易挂。再打开柱状图示例。图表渲染成功的关键是应用配置里已经启用了图表功能否则视图加载时直接提示找不到图表类并且七成图表相关的坑都是数据为空导致的——柱状图对空数据集的渲染结果很迷惑一片空白但不报错。给图表的 store 手动塞一条静态数据如果柱子出来了那就可以断定问题在你自己的数据代理上。最后进入表单示例输入内容、点击提交确认表单能收集字段并且控制器的处理方法被触发。这里也可以反向验证 MVC 架构视图里点击事件把动作交给控制器控制器再操作 store 或渲染结果一条链路走完架构就通了一半。从那以后我每次在别人的机器上装完 Ext JS 环境都会强制走一遍网格、图表、表单三连验证最多不超过十分钟比翻几十页文档判断环境好坏快得多。希望帮到你。本文还有配套的精品资源点击获取
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑