StupidBeauty
Read times:1769Posted at:Sat Dec 28 03:01:29 2013
- no title specified

Ext JS 4.2.0文档翻译:入门,Getting Started

内容目录

1. 使用要求

1.1 网页浏览器

1.2 网页服务器

1.3. Ext JS 4 SDK

2. 程序结构

2.1 基本结构

2.2 动态载入

2.3 库包含方法

3. 部署

1. 使用要求

1.1 网页浏览器

Ext JS 4支持所有的主流网页浏览器,其中包括最新版本的Google Chrome。不过,在开发过程中,我们建议使用以下浏览器之一来进行调试,以得到最好的调试体验:

这个教程中,假设妳使用的是最新版本的Google Chrome。如果妳还没有安装Chrome,那么现在装上它吧,然后熟悉一下Chrome开发者工具

1.2 网页服务器

尽管对于Ext JS 4的使用来说并不是必须要有一个本地的网页服务器,但是,我们仍然强烈建议妳安装一个,因为,对于大部分浏览器,当妳对本地file:// 协议使用XHR时,都会出现跨域请求限制。如果妳还没有安装本地网页服务器,那么建议妳下载安装Apache HTTP服务器。

当妳安装并启动Apache之后,可检查一下它是否在正常工作:使用浏览器打开localhost。妳应当看到一个简单的页面,上面说Apache HTTP服务器已经安装成功并且正在运行。

1.3. Ext JS 4 SDK

下载Ext JS 4 SDK。将这个软件包解压到妳的网站根目录下,命名为"extjs"。如果妳不知道网站根目录在哪里,那么,阅读一下妳所用的网页服务器的文档。网站根目录在不同操作系统上是不同的,不过,如果妳使用的是Apache,那么一般位置是这里:

  • •.Linux - "/var/www/"

  • •.Mac OS X - "/Library/WebServer/Documents/"

当妳安装完成了Apache之后,用浏览器打开http://localhost/extjs/index.html。如果看到了一个Ext JS 4驳页面,那么安装过程完成了。

2. 程序结构

2.1 基本结构

尽管这不是强制要求的,但是,以下的所有建议都应当作为最佳实践来考虑,它们将能确保妳的程序是良好地组织的、可扩展的以及可维护的。以下是我们建议的Ext JS 程序应当具有的目录结构:

不用现在就急着创建所有这些目录。现在我们先专注于创建最少的能够让一个Ext JS 程序运行起来的代码。为此,我们创建一个基本的"世界妳好" Ext JS程序,叫做"Hello Ext"。首先,在妳的网站根目录中创建以下目录及文件。

然后将Ext JS 4 SDK解压到helloext 目录中一个叫extjs 的子目录。

一个典型的Ext JS程序是由一个单独的HTML文档组成的,即——index.html。打开index.html,插入以下html代码:

<html>

<head>

<title>Hello Ext</title>

<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css">

<script type="text/javascript" src="extjs/ext-debug.js"></script>

<script type="text/javascript" src="app.js"></script>

</head>

<body></body>

</html>

  • •. extjs/resources/css/ext-all.css 包含着这整个框架所需要的所有样式信息

  • •. extjs/ext-debug.js 包含着由Ext JS 4 Core库类组成的一个最小集合

  • •. app.js 中就是妳的程序代码了

现在可以开始写妳的程序代码了。打开app.js,插入以下JavaScript代码:

Ext.application ({

name: 'HelloExt',

launch: function() {

Ext.create (' Ext.container.Viewport ', {

layout: 'fit',

items: [

{

title: 'Hello Ext',

html : 'Hello! Welcome to Ext JS.'

}

]

});

}

});

现在,打开浏览器,访问http://localhost/helloext/index.html。妳应当会看到一个面板,它有一个标题栏,标题栏中的文字是"Hello Ext",面板的内容区域里会有一条消息"welcome"。

2.2 动态载入

打开Chrome开发者工具,点击Console标签页。现在刷新Hello Ext程序。妳应当能在控制台里看到一条警告消息,就像这样:

Ext JS 4中有一个载入系统,可以动态地载入那些在妳的程序中必需的JavaScript资源。在我们这个示例中, Ext.create 创建了一个 Ext.container.Viewport 实例。当调用 Ext.create 时,载入系统首先会检查 Ext.container.Viewport 是否已经被定义了。如果它还未被定义,则,载入系统会在实例化这个视口对象之前先尝试载入包含着 Ext.container.Viewport 代码的JavaScript 文件。在我们这个示例里,Viewport.js这个文件被成功地载入了,但是,载入系统检测到它是以一种不那么优化的方式被载入的。因为我们是直到需要一个 Ext.container.Viewport 实例的时候才载入Viewport.js 的,所以,在成功载入那个文件之前,代码是暂停执行的,这就引起了一个小的延迟。如果我们多次调用Ext.create的话,这种延迟还会累积起来,因为,在载入每个文件时,程序都要等待,然后再载入下一个。

为了解决这个问题,我们可以在调用 Ext.application 的代码之前加入一行:

Ext.require (' Ext.container.Viewport ');

这会确保,包含着 Ext.container.Viewport 的代码的文件会在程序运行之前载入。这样,妳再刷新页面,就不会再看到 Ext.Loader 警告了。

2.3 库包含方法

当妳将所下载的Ext JS 4解压时,会看到以下文件:

  1. 1. ext-debug.js - 这个文件只应当在开发时使用。它提供了可用于维持运行的最少量的核心Ext JS类。任何附加的类都应当按照之前所说的方式作为单独的文件动态载入。

  2. 2. ext.js - 功能与ext-debug.js一样,不过是最小化了,专门用于实际产品的。它被设计为与妳的程序的app-all.js文件配套使用。(参考小节3

  3. 3. ext-all-debug.js - 这个文件中包含着整个Ext JS库。这个文件可用于缩短妳在最初的学习曲线,不过,在大部分的实际程序开发过程中还是应当优先使用ext-debug.js

  4. 4. ext-all.js – 这是ext-all-debug.js的最小化版本,可用于实际的产品环境,不过,并不建议使用这个文件,因为大部分程序都不会用到它所包含的所有类。我们建议的做法是,按照小节3 里面说明的步骤创建一个专门用于妳的产品环境的自定义版本。

3. 部署

新加入的Sencha SDK工具(这里下载)使得妳可以比以前更容易地部署任何Ext JS 4程序了。这些工具使得妳可以生成一个JSB3(JSBuilder文件格式)文件,它是一份关于所有JavaScript 代码之间依赖关系的清单,然后创建一个自定义的发布版本,里面只包含妳的程序所需要的那些代码。

当妳安装好了SDK工具之后,打开一个终端窗口,切换到妳的程序所在的目录。

cd path/to/web/root/helloext

在这里,妳只需要运行几条简单的命令。第一条命令会生成一个JSB3文件:

sencha create jsb -a index.html -p app.jsb3

如果妳的程序是使用动态的服务器端语言(例如PHP、Ruby等等)开发的,那么,妳可以使用妳的程序的实际网址来替换掉index.html:

sencha create jsb -a http://localhost/helloext/index.html -p app.jsb3

这条命令会扫描妳的index.html文件,找到被这个程序所使用的所有框架文件及程序文件,然后创建一个名为app.jsb3 的JSB 文件。把JSB3 文件的生成作为一个单独的步骤,使得我们可以在构建之间修改一下这个app.jsb3文件——如果妳有一些自定义的资源要复制的话这就狠有用了,但是在大部分情况下我们可以直接进行下一步,使用第二条命令来构建这个程序:

sencha build -p app.jsb3 -d .

这条命令会根据JSB3 文件来创建2个文件:

  1. 1. all-classes.js - 这个文件中包含了妳的程序中所有的类。它没有被最小化,所以可以用来对已构建的程序进行调试。在我们的这个示例中,此文件是空的,因为我们的"Hello Ext"程序中不包含任何类。

  2. 2. app-all.js - 这个文件是将妳的程序最小化并且加上所有必需的Ext JS类之后的结果。它是由all-classes.js + app.js组成的最小化及产品用的版本。

一个Ext JS程序,在它的产品版本中,需要有一个单独的index.html文件。一般情况下,妳应当在构建过程或者服务器端的逻辑中处理这一点,不过,目前我们就直接在helloext目录中创建一个新的文件index-prod.html:

<html>

<head>

<title>Hello Ext</title>

<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css">

<script type="text/javascript" src="extjs/ext.js"></script>

<script type="text/javascript" src="app-all.js"></script>

</head>

<body></body>

</html>

注意,ext-debug.js已经被ext.js代替,app.js已经被app-all.js代替。如果妳此时用浏览器打开http://localhost/helloext/index-prod.html,就会看到"Hello Ext"程序的产品用版本。

未知美人

Mikie Hara

未知美人

Your opinions
Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands