简介《Sencha Ext JS 7.8入门指南》是一份面向具备JavaScript基础、希望构建企业级复杂前端应用的开发者的PDF资料聚焦安装、模板与组件创建全流程帮助读者从零掌握Ext JS框架的核心用法。文档从框架特点与优势切入系统讲解许可证获取、Sencha Command安装、npm环境管理、IDE选择与项目结构配置并配有数据网格视图、柱状图、表单捕获等可直接上手的实例覆盖企业级应用开发中最常用的可视化与交互场景。资源共1个文件类型为PDF约2.65MB目录结构清晰内容预览显示从Introduction到Project Creation、Basic Project逐章递进既适合边看边练也适合作为团队内部入门培训与日常查阅的参考资料。文档还推荐官方文档、视频教程和社区支持等延伸学习渠道帮助读者进一步扩展技能。目前已有193人学习下载对希望快速搭建Ext JS项目、理解MVC架构与数据可视化实践的开发者具有较高参考价值。1. 先搞懂一个概念Ext JS 到底是干嘛的很多前端新手第一次听说 Ext JS 时都会愣一下我都在学 React 了为什么还要认识这个老框架这里有个很直观的类比React 像给你一套毛坯房砖头、水泥、图纸都备好怎么砌墙、怎么走水电全看你自己Ext JS 更像拎包入住的精装房客厅厨房都装好了你只需要往柜子里摆自己的东西。具体说Ext JS 是一个 JavaScript 前端框架最大的招牌是自带 140 多个开箱即用的 UI 组件比如复杂数据表格、图表、表单、树形菜单、日历。这些恰好是企业后台管理系统、数据报表平台里反复出现的界面所以它一直被当作做企业级应用的成熟方案。这篇指南给完全没碰过 Ext JS、只有一点 JavaScript 基础的你准备不讲源码级原理只讲怎么装环境、怎么创建第一个项目、怎么把表格、图表、表单三个最常用组件跑起来。2. 为什么偏偏是它三个让你愿意学的理由在决定投入时间学一个框架之前你最该问的不是“它功能多不多”而是“它和主流框架到底差在哪、我学了之后用在哪儿”。这一章我们不劝你放弃 React只把 Ext JS 的真实定位讲清楚。2.1 它和 React、Vue 的差别毛坯房和精装房React 和 Vue 走的是“核心 社区生态”路线。组件库、路由、状态管理基本都是外部库做技术选型时要自己拼表格要配一版图表要配一版还得保证它们风格统一、交互一致。Ext JS 反着来它是一个“啥都给你装好”的完整框架数据和界面绑定、布局管理、主题皮肤、构建工具都内置。它那一百多个组件是同源配套的组件之间不会出现“这个表格和那个下拉框长得不像一家人”的尴尬。这不是说谁更好而是思路不同。如果你的场景是内部后台、管理系统、报表平台这种“要对接大量数据、表格密密麻麻、交互逻辑严谨”的应用精装房能省掉很多配来配去的精力。我见过很多新人把第一个项目做成耀眼的动画网站最后发现方向跑偏——企业应用最刚需的是控件好用、数据不出错、界面能维护这三点才是 Ext JS 的主场。2.2 140 个现成组件是最实在的省力点我刚学的时候最惊讶的一点是在别的前端框架里要花大工夫做的复杂表格、分组表头、列排序、单元格内编辑在 Ext JS 是一个现成组件几句配置就能出一个能用的版本。数据可视化也一样。柱状图、折线图、饼图、热力图这类组件内置好数据传进去就渲染。你不用去对比五六个图表库也不用担心“这个库偏偏不支持我要的那种堆叠柱状图”。文档里给了一个数字超过 140 个组件。别小看这个数字它意味着你在企业系统里能想到的交互大部分都有一个现成的类你要做的是配置和组合而不是从零造轮子。对新手来说这意味着“翻车”的概率低不少——你踩过的坑早有人替你填平了一部分。2.3 Classic 和 Modern两个 Toolkit 该选谁很多新手第一次打开文档会被 Toolkits 这个词绕晕。简单理解Ext JS 同一套内核给了两种“皮肤和渲染策略”Classic Toolkit主要用 JavaScript 渲染界面更适合桌面浏览器上的复杂管理端。Modern Toolkit主要用 CSS 渲染针对手机、平板做了优化移动端体验更顺滑。注意这两个不是“手机只能用 Modern、电脑只能用 Classic”。文档特别强调两者其实都能跑在任何平台上只是侧重点不同。第一次学的话建议先抓住一个练熟比如 Classic因为桌面端后台管理系统的例子最多、资料也最全。2.4 什么样的人最该学它如果你属于下面三类之一Ext JS 很可能是你的答案做企业内部系统的开发者天天面对表单、列表、报表需要快速稳定交付。团队要维护一个数据量很大、逻辑很深的旧系统想要一个成熟框架兜底。前端新手想理解“MVC 模式在企业应用里怎么落地”它可以提供一个完整的可参考样本。反过来如果你做的是偏营销、偏创意的对外网站追求轻量、灵活、各种新潮特效那 React、Vue 那套生态更顺手。工具不分好坏只分适不适合。企业应用最看重的是一致性和成熟度而 Ext JS 恰好在这些地方积累深厚。2.5 企业应用最看重的三样东西它都有企业应用和普通网站有个很大不同界面一致性很重要数据准确性更重要。如果每个模块由不同开发者搭不同的表格组件几个月后维护成本会直线上升。Ext JS 把所有组件统一在同一套设计语言和交互规范下开发体验上的“一致性”是大团队特别看重的。另外它的成熟度也是硬通货。文档里提到它非常适合金融、医疗这类对性能和扩展性要求高的行业——这些领域不会因为你“技术新潮”就买单反而更看重框架十年如一日地稳定。再补充一个例子企业系统里经常有“用户改完表单刷新一下又要重填”的问题。Ext JS 内置的状态管理可以把界面状态维持住包括滚动位置、列宽、筛选条件都能记住。这个功能在传统行业里非常实用但也容易被新手忽略。3. 动手前准备授权、Sencha Command 和 npm这章是第一个动手环节。跟着做的时候别跳步骤我第一次就是跳过了“先拿到授权再装工具”结果后面创建项目时反复报错浪费了一个下午。真实路径其实很清晰分三步走。3.1 第一步拿到试用的许可证和 React、Vue 不一样Ext JS 是一个商业授权框架动手前要先获得一个大版本的有效授权才谈得上后面的事。好在官方提供试用版流程不复杂。打开官网的下载页填一下邮箱之类的信息就能进入工具下载区。试用版对应的版本是 7.8.0下载区里能看到好几个工具除了我们要用的 Sencha Command还有 Sencha Architect、Sencha Themer、Rapid Ext JS 这些。第一次接触的人可能不知道选哪个不用纠结——入门阶段只要 Sencha Command 就够。它负责生成项目、构建代码、跑测试是后面所有命令的基础。注意试用版和商用版在创建项目时会有细微差别试用版生成的项目通常带试用标识商用版买完后需要先激活软件再下载安装流程会更正式一些。提示如果你的公司后续要走商用授权流程基本一样只是多了软件激活这一步后面我们会提到两者的差别。3.2 第二步安装 Sencha CommandSencha Command 是命令行工具类似 npm 之于 Node 生态。下载下来是个安装包解压后一路下一步就行。这一步有两个容易被吓到的小状况先给你打预防针Windows 可能出现 Windows 安全中心弹出的警告信息安心选“仍要运行”继续这只是厂商签名环境的正常提示。安装到组件选择那一步有一个叫 Compass 的旧组件那是老版本才需要的7.8.0 用不上不用勾选。装完验证一下。打开 PowerShellWindows 上可以直接在文件夹里按住 Shift 右键选“Open PowerShell Window Here”输入sencha --version能正常打印出版本号说明命令行工具已经就位。这一步输出哪怕带点乱码都不影响重点是命令认识sencha这个词。安装完成之后有一个很重要的细节如果你正在用 VS Code 或者其他终端工具最好全部关掉重开因为新安装的命令行工具要重启终端才能被识别。3.3 第三步用 npm 管理环境可选但推荐如果你已经安装了 Node.js官方也支持用 npm 来管理 Ext JS 环境。比起手动下载解压npm 能帮你管版本、方便后续升级。入门阶段建议先把这条道走通先按照“下载安装 Sencha Command”的常规方式把工具装好等以后熟悉了再对照官方文档里 ZIP 和 NPM 两种入门方式做调整。第一次学不用贪多装好一个方式就够了。另外说一下 IDE。文档里专门提到 Rapid Ext JS 这个编辑器扩展它能在写视图的时候提供属性检查器属于锦上添花的工具。零基础入门用 VS Code 配这个扩展就够了不额外折腾 IDE。3.4 生成第一个项目前的最后确认收尾前再检查三件事缺了任何一个后面都会翻车授权已拿到且下载的是 7.8.0 对应的安装包。Sencha Command 能执行sencha --version有输出。想清楚项目放哪如果只是用 Sencha 自带测试服务器文件夹位置随意如果将来要放到公司正式服务器先确认部署规范再选目录。3.5 安装后命令不生效怎么办现象刚装完 Sencha Command打开新的 PowerShell 输入sencha --version提示“不是内部或外部命令”。原因安装程序没有把可执行文件所在目录加入系统 PATH或者当前终端窗口还是旧的。解决先确认安装目录里确实有sencha.exe然后在系统环境变量里把该目录追加进 PATH之后重新打开终端再试。这一步属于老手也经常遇到的环境问题解决一次后面就顺畅了。4. 跑通第一个项目从生成命令到三个组件工具装好了接下来就是最激动人心的一步把一个空文件夹变成一个能跑起来的前端项目。这章先把命令敲通再读懂目录最后用文档里的三个组件例子数据网格、柱状图、捕获表单感受一下 Ext JS 的“配置式”开发。4.1 生成项目sencha generate app 逐个参数拆解先在你想放项目的目录下打开 PowerShell。假设我准备在 D 盘建一个 SenchaProject 文件夹然后cd D:\SenchaProject sencha generate app classic -ext MyApp ./这条命令的每个参数都值得认识classic指定使用 Classic Toolkit。如果目标是手机平板优先的移动端界面换成modern。-ext让命令使用已安装的 Ext JS SDK而不是从网络临时拉取别的版本。MyApp应用名要符合变量命名规则不能叫my-app这种带横杠的写法。./生成到当前目录。执行完你会看到控制台像跑马拉松一样打出大量日志最后没有大红报错就说明生成成功。另一个值得说的小细节项目名最好用大驼峰比如MyApp这样生成的类名、命名空间都会很规范后面少踩很多“对不上号”的坑。4.2 构建并预览让项目真正跑起来生成只是把骨架搭好想看到页面必须构建一次。三个环境对应三种构建方式sencha app build developmentdevelopment 模式构建最快适合边改边看testing 偏测试production 则是压缩优化后的生产版本。第一次先把 development 跑通之后每次写代码保存到 src 目录测试服务器的热更新机制会替你处理大部分刷新。构建完成后启动内置测试服务器sencha app watch浏览器打开它提示的地址通常是以 localhost 开头的某个端口你就能看到 Ext JS 默认模板页面了左边一个导航菜单右边一个欢迎区。4.3 看懂项目目录至少要知道四个关键位置第一次打开生成的项目文件夹很多很吓人。新手最需要先认识这几个目录 / 文件作用app/你的应用代码控制器、视图、模型、Store 都在这里app.js应用入口index.html浏览器加载的起始页sass/样式文件workspace.json如果是工作区模式这里定义多个应用入门阶段90% 的时间只在app/下活动。其他目录先不用钻认识个脸熟就行。4.4 第一个组件数据网格两分钟出页面在 Ext JS 里写界面不是手写 HTML而是“声明式”地描述我告诉框架“这里有一个表格列有三列数据从这个数据源来”它负责把界面画出来。这种思路最直观的体现就是Ext.define和Ext.create。先定义一个 Store它负责管数据// app/store/ExampleStore.js Ext.define(MyApp.store.ExampleStore, { extend: Ext.data.Store, alias: store.example, fields: [name, city], data: [ { name: 张三, city: 上海 }, { name: 李四, city: 北京 } ] });代码说明Ext.define定义一个类第一个参数是类的完整名字带命名空间这里叫MyApp.store.ExampleStore对应的文件路径必须是app/store/ExampleStore.js。alias: store.example相当于给这个类一个短别名后面在网格里只要写type: example就能引用它。接着定义网格视图// app/view/ExampleGrid.js Ext.define(MyApp.view.ExampleGrid, { extend: Ext.grid.Panel, title: 示例数据网格, store: { type: example }, columns: [ { text: 姓名, dataIndex: name }, { text: 城市, dataIndex: city } ] });参数说明extend: Ext.grid.Panel表示这个类继承自网格面板store通过type引用刚才定义的 Storecolumns数组声明列text是显示的表头文字dataIndex对应数据源里的字段名。把这两个文件放进app/store和app/view目录再在模板页面的主视图里加一个菜单项指向 ExampleGrid保存后刷新你就能看到一个能排序、能翻页的完整表格了。这个“视图 Store 控制器”的组合正是 MVC 模式在 Ext JS 里的落地形态。4.5 第二个组件柱状图配置比想象中少图表同样不复杂。启用图表功能后创建 ExampleChart 类核心配置是// app/view/ExampleChart.js Ext.define(MyApp.view.ExampleChart, { extend: Ext.chart.CartesianChart, store: { type: chartstore }, axes: { bottom: { title: 月份 }, left: { title: 销量 } }, series: { type: bar, xField: month, yField: sales } });参数说明series定义图表类型是柱状图xField和yField指定哪一列做横轴、哪一列做纵轴axes是坐标轴配置bottom是横轴left是纵轴。这套写法熟悉以后你想改成折线图只需要把type: bar换成type: line数据集自动适配不太需要改其他配置。数据可视化在企业报表里就是这么高频一个配置项的切换就能换来一种新图形。4.6 第三个组件捕获表单把用户输入变成数据表单是企业应用里永远的主角。文档里的捕获表单例子思路也是声明式视图类里定义字段控制器里监听提交事件。基本结构如下// app/view/ExampleForm.js Ext.define(MyApp.view.ExampleForm, { extend: Ext.form.Panel, items: [ { xtype: textfield, name: username, fieldLabel: 用户名 }, { xtype: textfield, name: email, fieldLabel: 邮箱 } ], buttons: [{ text: 提交, handler: function () { // var values this.up(form).getValues(); // 拿到 values 之后就可以交给控制器去处理 } }] });这里的xtype是 Ext JS 的一个核心概念相当于给组件起了一个“快捷别名”。写textfield就自动展开成文本框组件。记住xtype这个关键词后面几乎天天见。fieldLabel是输入框前面的文字标签name是提交时对应的数据字段名。三个组件走完你已经摸到了 Ext JS 的开发套路定义类、配置属性、放进面板或容器。剩下的就是对着官方示例一点点扩充。5. 避坑清单新手最容易踩的 5 个坑这一章把入门路上常见的翻车现场提前讲给你听。我自己第一次做的时候五个坑踩了四个每次都是查半天才明白原因。为了让你少走弯路每条都按“现象—原因—解决”来写。5.1 页面出来了但组件一个都不显示现象sencha app watch能跑浏览器也打开了但页面只有空壳没有表格也没有菜单。原因最常见是没构建就刷新。Ext JS 的代码需要经过 Sencha Command 编译在 watch 模式下你可能把新文件加到了app/view却忘了看一眼终端输出有没有“新文件已载入”的提示。解决重新执行sencha app build development确认无报错后再刷新浏览器。养成习惯改了app/下的代码之后先看终端有没有异常日志再回页面验证。5.2 控制台报错sencha 不是内部或外部命令现象新开一个 PowerShell 窗口输入sencha --version直接被系统拒绝。原因安装目录没有写进 PATH 环境变量或者旧终端没有重新加载环境。解决检查 Sencha Command 安装目录确认sencha.exe在哪个文件夹右键“此电脑”→属性→高级系统设置→环境变量把该目录追加到 PATH重新打开终端再试。这一步属于老手也会遇到的经典问题不丢人。5.3 类名和文件名对不上控制台报 Loader failed现象新建了一个视图文件控制台提示类似[ERR] Failed loading应用直接崩。原因Ext JS 按类名找文件。我的类叫MyApp.view.ExampleGrid那路径必须是app/view/ExampleGrid.js。文件名、包路径、类名三者必须严格一致差一个字母都不行。解决先核对Ext.define(MyApp.view.ExampleGrid, ...)里的名字和文件路径把路径调整成一致的再重新构建。这算是新手最容易忽略的“强制约定”建议一开始就养成“先定类名再建文件”的顺序。5.4 网格和图表有配置但显示“No data to display”现象表格区域显示“无数据”图表也是空荡荡。原因Store 没接上或者数据源里字段名和dataIndex对不上。比如数据里是firstName你在列配置里写name框架找不到值自然就是空的。解决先把 Store 的数据在控制台打出来确认字段名再检查列和坐标轴的dataIndex/xField/yField是否与数据字段一致。最容易的办法让 Store 先返回一个最小测试数组字段名焊死成功后再换成真实数据。5.5 把 Classic 和 Modern 的代码混在一个项目里现象用 Classic 建的项目从网上抄了一段 Modern 的视图代码粘进来运行报错或界面错乱。原因两个 Toolkit 虽然同为 Ext JS但部分类名和组件渲染方式有差异直接混用会触发兼容问题。解决项目创建时定好一个文档也提醒初学者主要围绕 Classic、以桌面端后台为场景。要抄例子时先确认来源是基于哪个 Toolkit不确定就先在官方文档里搜类名确认。6. 下一步怎么学从改一个例子到搭自己的页面最后一个小建议给接下来的学习路径指个方向。6.1 建议的学习顺序学完这份指南你可以按这个顺序进阶阶段做什么完成标准第 1 周把文档里的数据网格、柱状图、表单各抄一遍能独立把字段、列、按钮改造成自己的第 2 周学 Store 和模型接真实接口数据表格和图表不再用写死数据第 3 周学控制器事件理解 MVC 里三个角色的分工能完成“点击按钮→加载数据→刷新表格”的闭环第 4 周找一个现成模板项目学布局和主题能搭一个包含侧边导航和多页签的后台框架6.2 第一个小目标给自己定一个小目标把默认模板页改成“一个展示员工名单的表格”数据先写死在 Store 里列可以自己增删。这个目标看着小但它能把你读过的所有概念串起来。从第一次装工具到跑通第一个网格我整整花了一个周末其中有一半时间在处理环境变量和构建日志。后来我养成了一个习惯每次新建项目都强制自己先把sencha app build development走一遍确认终端零报错才写业务代码这个习惯帮我少踩了很多隐性坑。希望帮到你也希望你能在第一个网格跑起来的那一刻体会到这种框架带来的踏实感——那感觉真的很值得。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?