前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[翻译]Ext JS 教程-开始使用 ExtJS 4

[翻译]Ext JS 教程-开始使用 ExtJS 4

作者头像
LeoXu
发布于 2018-08-15 06:53:11
发布于 2018-08-15 06:53:11
6.5K0
举报
文章被收录于专栏:LeoXu的博客LeoXu的博客

<h3>入门</h3> <h4>1. 需求</h4> <h5>1.1 网页浏览器</h5> <p>ExtJS 4 支持所有主流的浏览器,从IE 6 到最新的谷歌Chrome。在开发期间,我们建议你使用下面这些浏览器,以获得更好的调试体验。</p> <p>Ø Google Chrome 10+</p> <p>Ø Apple Safari 5+</p> <p>Ø Mozilla Firefox 4+ 带Firebug Web 开发插件</p> <p>本教程假设你正在使用最新的谷歌 Chrome 浏览器。如果你还没有 Chrome,花点时间去下载它吧,然后去熟悉熟悉 Chrome 的开发者工具。</p> <h5>1.2 Web 服务器</h5> <p>尽管使用 ExtJS 4 并不一定需要一个本地的web 服务器,仍然强烈建议你在开发的时候能有一个,因为 XHR 在大多数浏览器上有针对本地 file:// 的cross origin 限制。如果你还没有本地的web 服务器,建议你下载并安装 Apache HTTP Server。</p> <p>Ø 了解在 Windows 上面安装 Apache</p> <p>Ø 了解在 Linux 上面安装 Apache</p> <p>Ø Mac OS X 已经内置了apache,你可以在 System Preference &gt; Sharing 下面的 Web Sharing 旁找到</p> <p>一旦你安装好了 Apache ,你可以通过在浏览器地址栏输入 localhost 验证它是否在运行。你会看到一个表示 Apache HTTP 服务器已经成功安装并且正常运行的开始页面。</p> <h5>1.3 Ext JS 4 SDK</h5> <p>下载 Ext JS 4 SDK,把压缩包解压到一个在你的web 根路径下新建的extjs文件夹。如果你不知道web根目录在哪儿,查阅你web服务器的相关文档。Web 根路径的位置根据你操作系统的不同而有所不同,但是如果你使用的是 Apache,你一般会在:</p> <p>Ø Windows - &quot;C:\Program Files\Apache Software Foundation\Apache2.2\htdocs&quot;</p> <p>Ø Linux - &quot;/var/www/&quot;</p> <p>Ø Mac OS X - &quot;/Library/WebServer/Documents/&quot;</p> <p>一旦你已经完成安装,将浏览器导航至 <a href="http://localhost/extjs/index.html">http://localhost/extjs/index.html</a> 。如果一个 ExtJS 4 的欢迎页面出现了,代表你已经一切就绪了。</p> <h4>2. 应用程序结构</h4> <h5>2.1 基本结构</h5> <p>如下所列的建议尽管不是强制的,但是可以作为最佳实践指南考虑,以保持你的应用的结构条理性、可扩展性和可维护性。下面是推荐的Ext JS 应用程序结构:</p> <p>- appname</p> <blockquote> <p>- app</p> </blockquote> <blockquote> <p>&#160;&#160;&#160; - namespace</p> </blockquote> <blockquote> <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; - Class1.js</p> </blockquote> <blockquote> <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; - Class2.js</p> </blockquote> <blockquote> <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; - ...</p> </blockquote> <blockquote> <p>- extjs</p> <p>- resources</p> </blockquote> <blockquote> <p>&#160;&#160;&#160; - css</p> </blockquote> <blockquote> <p>&#160;&#160;&#160; - images</p> </blockquote> <blockquote> <p>&#160;&#160;&#160; - ...</p> </blockquote> <blockquote> <p>- app.js</p> </blockquote> <blockquote> <p>- index.html</p> </blockquote> <p>Ø Appname 是一个包含应用程序所有源文件的文件夹</p> <p>Ø App 包含所有的类, 类的命名形式应该遵循类系统指南中列出的规则</p> <p>Ø Extjs 包含 ExtJS 4 SDK 的文件</p> <p>Ø Resources 包含为应用程序提供外观的 CSS 和图片文件,还有其他的静态文件(XMLJSON等等)</p> <p>Ø Index.html 是 HTML 文档的入口点</p> <p>Ø App.js 包含你所有的业务逻辑</p> <p>现在不要为了创建所有上述的文件夹而担忧。当前让我们关注用最少量需求的代码去获得并运行一个 Ext JS 应用程序。 我们将会创建一个 “hello world” Ext JS 应用程序,称作 “Hello Ext”。首先,在你的web根路径下面创建下面这些文件和文件夹。</p> <p>- helloext</p> <blockquote> <p>- app.js</p> </blockquote> <blockquote> <p>- index.html</p> </blockquote> <p>然后解压 Ext JS 4 SDK 里的 exjst 到 helloext 目录中。</p> <p>一个典型的ExtJS应用程序包含一个 HTML文档——index.html。 打开 index.html,插入下面的 html 代码。</p> <p>&lt;html&gt;</p> <blockquote> <p>&lt;head&gt;</p> </blockquote> <blockquote> <p>&#160; &lt;title&gt;Hello Ext&lt;/title&gt;</p> </blockquote> <blockquote> <p>&#160; &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;extjs/resources/css/ext-all.css&quot;&gt;</p> </blockquote> <blockquote> <p>&#160; &lt;script type=&quot;text/javascript&quot; src=&quot;extjs/ext-debug.js&quot;&gt;&lt;/script&gt;</p> </blockquote> <blockquote> <p>&#160; &lt;script type=&quot;text/javascript&quot; src=&quot;app.js&quot;&gt;&lt;/script&gt;</p> </blockquote> <blockquote> <p>&lt;/head&gt;</p> </blockquote> <blockquote> <p>&lt;body&gt;&lt;/body&gt;</p> </blockquote> <p>&lt;/html&gt;</p> <p>Ø extjs/resources/css/ext-all.css 包含整个框架需要的样式信息</p> <p>Ø extjs/ext-debug.js 包含 ExtJS 4 核心类库的最小集合</p> <p>Ø App.js 将包含你的应用代码</p> <p>现在你已经准备好,可以写你的应用代码了。 打开 app.js ,插入下面的 Javascript 代码:</p> <p>Ext.application({</p> <p>name: 'HelloExt',</p> <p>launch: function() {</p> <p>Ext.create('Ext.container.Viewport', {</p> <p>layout: 'fit',</p> <p>items: [</p> <p>{</p> <p>title: 'Hello Ext',</p> <p>html : 'Hello! Welcome to Ext JS.'</p> <p>}</p> <p>]</p> <p>});</p> <p>}</p> <p>});</p> <p>现在将你的浏览器导航到 <a href="http://localhost/helloext/index.html">http://localhost/helloext/index.html</a> 。你会看到一个面板,面板上有一个包含文本 “Hello Ext”的标题条,面板的body 区域还有“welcome”信息显示。</p> <h5>2.2 动态加载</h5> <p>打开 Chrome 开发者工具,点击 Console 选项。现在刷新 Hello Ext 应用程序。你应该会看到控制台(console) 显示像下面这样一条警告信息:</p> <p><a href="http://static.oschina.net/uploads/img/201305/30194811_NTVO.jpg"><img title="clip_image002" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image002" src="http://static.oschina.net/uploads/img/201305/30194811_m1AD.jpg" width="244" height="9" /></a></p> <p>ExtJS 4 带有一个在你的应用需要时动态加载 JavaScript 资源的系统。在我们的例子中, Ext.create 创建了一个 Ext.container.Viewport 实体。当 Ext.create 被调用的时候,加载器首先会检查 Ext.container.Viewport 是否已经被定义了。如果已经定义了,加载器会在初始化viewport 对象前尝试加载加载包含了定义 Ext.container.Viewport 的代码。 在我们的例子中 Viewport.js 文件获取加载成功了,但是加载器发现文件正在以一种 less-than optimal 方式被加载。 于是我们现在在一个 Ext.container.Viewport 的实体被需要时加载了 Viewport.js 文件, 代码的执行一直到文件已经被加载成功的时候才停止,造成一小段延时。 当我们对 多次调用 Ext.create时,延时的影响会累积,因为应用程序在请求下一个文件时,都会等待每一个文件加载完。</p> <p>为了解决这个问题,我们可以调用 Ext.application 的一行代码。</p> <p>Ext.application:</p> <p>Ext.require('Ext.container.Viewport');</p> <p>这样做将确保在应用程序运行之前包含定义 Ext.container.Viewport 的代码已经被加载进来了。 在你刷新页面时,你应该不会再看到 Ext.Loader 的警告信息了。</p> <h5>2.3 库文件包含方法</h5> <p>当你解压了你下载的 ExtJS 4 文件时,你将看到下面的这些文件:</p> <p>1. ext-debug.js ——这个文件仅在开发期间使用。 它提供了启动和运行所需最小量的 ExtJS 核心类。任何附加的类应该向上面演示的那样作为单独的文件被动态加载。</p> <p>2. ext.js ——跟ext-debug.js 是一样的,不过做了迷你化处理。它很重要,用来同你应用程序的 app-all.js 文件结合。(见 第3节)</p> <p>3. ext-all-debug.js ——这个文件包含了真个 ExtJS 库。这对于缩短你的学习曲线很有帮助,然而实际的应用开发中 ext-debug.js 大多情况下是首选。</p> <p>4. ext-all.js 这是一个迷你化了 ext-all.debug.js 可以用于生产环境,当大部分应用程序不需</p> <p>要使用它包含的所有类时,不推荐用这个。取而代之的做法是为你的生产环境创建一个定制的构建,这在第3节描述到了。</p> <h4>3. 部署</h4> <p>新推出的 Sencha SDK 工具让任何 ExtJS 4 应用程序的部署比以前更容易了。这个工具允许你生成一份JSB 3(JSBuilder 文件格式)形式的JavaScript 依赖清单文件, 并且创建一个定制的构建包,里面只包含你的应用程序所需要的代码。</p> <p>一旦你把SDK 工具安装好了,打开控制台窗口并切换到你应用程序所在的目录。</p> <p>cd path/to/web/root/helloext</p> <p>到此你仅仅需要运行一对简单的命令。第一行生成一个JSB3文件:</p> <p>sencha create jsb -a index.html -p app.jsb3</p> <p>对于基于一种动态服务器端语言——像 PHP、Ruby、ASP等等——构建的应用程序,你可以简单的用你应用程序的真实URL替换 index.html:</p> <p>sencha create jsb -a http://localhost/helloext/index.html -p app.jsb3</p> <p>这条命令会浏览你的index.html文件,寻在所有被应用实用到的框架和应用文件,然后创建一个叫做 app.jsb3的 JSB 文件。JSB3的生成给我们在构建之前变更 app.jsp3 的机会——这在当你需要复制定制的资源是可能有帮助,但在大多数情况下我们可以使用第二条命令执行构建:</p> <p>sencha build -p app.jsb3 -d .</p> <p>这条命令基于 JSB3 文件 创建了两个文件:</p> <p>1. All-classes.js ——这个文件包含了你应用程序的所有类。它不是迷你化的,因而对你查找问题很有帮助。在我们的例子中这个文件内容是空的,因为我们的“Hello Ext”应用不包含任何类。</p> <p>2. App-all.js ——这个文件是迷你化的,包含了应用程序的和所有运行时需要的ExtJS的类。它是生产环境用的 all-classes.js + app.js 迷你化。</p> <p>一个Ext JS 应用程序将需要一个单独的index.html用于应用的生产环境版本。你可能希望在你的构建过程或者服务器端逻辑中决定这个东西,但是现在先只在 helloext文件夹里面创建一个称作 index-prod.html 的新文件:</p> <p>&lt;html&gt;</p> <p>&lt;head&gt;</p> <p>&lt;title&gt;Hello Ext&lt;/title&gt;</p> <p>&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;extjs/resources/css/ext-all.css&quot;&gt;</p> <p>&lt;script type=&quot;text/javascript&quot; src=&quot;extjs/ext.js&quot;&gt;&lt;/script&gt;</p> <p>&lt;script type=&quot;text/javascript&quot; src=&quot;app-all.js&quot;&gt;&lt;/script&gt;</p> <p>&lt;/head&gt;</p> <p>&lt;body&gt;&lt;/body&gt;</p> <p>&lt;/html&gt;</p> <p>现在ext-debug.js 已经被 ext.js 替换,app.js 已经被 app-all.js 替换。如果你将浏览器导航至 http://localhost/helloext/index-prod ,你应该会看到产品环境版本的“Hello Ext”应用程序。</p> <h4>4. 阅读更多</h4> <p>1. 类系统</p> <p>2. MVC 应用程序架构</p> <p>3. 布局和容器</p> <p>4. 使用数据</p>

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013/05/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Java日期处理易踩的十个坑
  我们设置了10小时,但运行结果是22点,而不是10点。因为Calendar.HOUR默认是按12小时制处理的,需要使用Calendar.HOUR_OF_DAY,因为它才是按24小时处理的。
不会飞的小鸟
2020/03/29
1.5K0
Java常见日期格式及日期的计算工具类
import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.List;
一头小山猪
2020/06/15
4.4K0
一文带你入坑JDK8的新日期时间类 LocalDate、LocalTime、LocalDateTime
参考 https://blog.csdn.net/duan196_118/article/details/111597682 https://blog.csdn.net/qq_24754061/article/details/95500209 https://xijia.blog.csdn.net/article/details/106007147
时间静止不是简史
2023/02/23
4.8K0
一文带你入坑JDK8的新日期时间类 LocalDate、LocalTime、LocalDateTime
Java对Mysql数据库时间格式处理
博主在做一个列表的时候从MongoDB中查出来的数据包含有时间格式,在MongoDB数据库中的存放形式为2017-10-24 05:18:54.000Z,而对于使用Java查询是String接受的值为Tue Oct 24 13:18:54 CST 2017。
青衫染红尘
2021/01/19
4.9K0
关于时间的那些事 - 中国也曾实行过夏令时,你知道吗?
大家都知道,地球上按照经度分成24个时区,每个时区相差一个小时。一般来说每个国家法定的时间都对应一个时区,比如中国用的东八区时间,韩国用的东九区时间,韩国时间比中国快一个小时。同时,很多高纬度国家都实行夏令时,即每到夏天把时钟拨快一个小时,每到冬天再把时钟拨慢一个小时,比如德国。
Bruce Li
2019/07/30
1.5K0
关于时间的那些事 - 中国也曾实行过夏令时,你知道吗?
Java基础系列之日期时间处理
林老师带你学编程
2018/01/03
9360
Java 相关时间工具类
package com.cavytech.wear2.util; import android.text.TextUtils; import android.text.format.Time; import android.util.Log; import com.cavytech.wear2.entity.BandSleepStepBean; import com.cavytech.wear2.entity.GetSleepBean; import java.text.DateFormat;
先知先觉
2019/01/21
1.5K0
Java 中的时间日期 API
自从 14 年发布 Java 8 以后,我们古老 java.util.Date 终于不再是我们 Java 里操作日期时间的唯一的选择。 其实 Java 里的日期时间的相关 API 一直为世猿诟病,不仅在于它设计分上工不明确,往往一个类既能处理日期又能处理时间,很混乱,还在于某些年月日期的数值映射存储反人类,例如:0 对应月份一月,11 对应月份十二月,118 对应年份 2018(1900 + 118)等。 往往我们得到某个年月值还需要再做相应的运算才能得到准确的年月日信息,直到我们的 Java 8 ,借鉴了
Single
2018/05/15
2.3K0
Java日期格式化
文章目录 1. 日期格式化 1.1. 前言 1.2. Date 1.2.1. 构造方法 1.2.2. 常用的方法 1.2.3. 实例 1.3. SimpleDateFormat 1.3.1. 构造方法 1.3.2. 常用的方法 1.3.3. 常用的日期格式化的模板 1.3.4. 实例 1.4. Calendar 1.4.1. 创建对象 1.4.2. 常用方法 1.4.3. 实例 日期格式化 前言 更多文章请看本人博客https://chenjiabing666.github.io/ 版权所有,如需转
爱撒谎的男孩
2019/12/31
2.7K0
java实用类(四)-Date 和 Calendar
创建日历类对象,不是new出来的,而是通过日历类自带的静态方法getInstance,获取;
化羽羽
2022/10/28
4820
java实现时间转UTC格式
协调世界时,又称世界标准时间或世界协调时间,简称UTC(从英文“Coordinated Universal Time”/法文“Temps
用户7741497
2022/03/27
4.6K0
java 日期格式化工具类
六月的雨在Tencent
2024/03/28
1220
java中经常使用的日期格式化(全)「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/115600.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/10
2.1K0
(32) 剖析日期和时间 / 计算机程序的思维逻辑
本节和下节,我们讨论在Java中如何进行日期和时间相关的操作。 日期和时间是一个比较复杂的概念,Java API中对它的支持不是特别好,有一个第三方的类库反而特别受欢迎,这个类库是Joda-Time,Java 1.8受Joda-Time影响,重新设计了日期和时间API,新增了一个包java.time。 虽然之前的设计有一些不足,但Java API依然是被大量使用的,本节介绍Java 1.8之前API中对日期和时间的支持,下节介绍Joda-Time,Java 1.8中的新API与Joda-Time比较类似,暂
swiftma
2018/01/31
2.1K0
日历时间格式Date与Calender
一、Date 1.1.概述 获取当前系统时间 大部分构造方法已经过时 构造方法 Date(); 创建一个Date,对应当前时间,精度在毫秒值 Date(long date); 根据时间戳毫秒数,创建对应的Date对象,时间戳是从1970-01-01 00:00:00 GMT tips: 中国采用的东八区时间 1970-01-01 08:00:00 常用方法: long getTime(); 通过Date类对象获取对应当前时间的毫秒数 System.currentTi
2020/10/23
1.1K0
Java 时间格式化(java中如何格式化一个日期)
1、通过MessageFormat转化 String dateTime = MessageFormat.format(“{0,date,yyyy-MM-dd-HH-mm:ss:ms}” , new Object[] { new java.sql.Date(System.currentTimeMillis()) }); 说明: yyyy-MM-dd-HH-mm:ss:ms 年yyyy 月MM 日dd 时(大写为24进制,小写为12进制) 分mm 秒ss 微妙ms
全栈程序员站长
2022/08/01
6.5K0
Java 时间格式化(java中如何格式化一个日期)
深入理解Java常用类-----时间日期
本文主要介绍了Java中的日期和时间操作,包括使用Date、Calendar、DateFormat、Time以及线程安全的Calendar等类。同时,还介绍了Joda-Time库,该库提供了更先进的日期和时间操作类。通过这些技术,我们可以方便地进行日期和时间的读取、计算、操作和格式化等操作。
Single
2018/01/04
1.3K0
深入理解Java常用类-----时间日期
Java 常用类
记录一些Java 学习使用, 经常使用类进行总结… 这个文章感觉还是很有必要的 后面会常总结扩展…
Java_慈祥
2024/08/06
1010
Java 常用类
LocalDateTime、Date时间工具类
参考:Date、LocalTime、LocalDate、LocalDate-时间操作工具类_Hatsune_Miku_的博客-CSDN博客
CBeann
2023/12/25
2910
Java 时间处理 & JDK1.8 新特性
Java 处理时间 一般通过 Date、Calendar 获取 之后 进行 DateFormat、SimpleDateFormat 等 格式转换类 进行处理。
收心
2022/01/17
8970
推荐阅读
相关推荐
Java日期处理易踩的十个坑
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档