extjs5(项目中文件的加载过程)

- 1、首先:浏览器中输入 localhost:1841 ,调用 index.html;
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>app</title>
- <!-- The line below must be kept intact for Sencha Cmd to build your application -->
- <script id="microloader" type="text/javascript" src="bootstrap.js"></script>
- </head>
- <body></body>
- </html>
在这里面只引入了一个文件:bootstrap.js。这是一个神奇的文件,他根据配置文件bootstrap.json来设置extjs的类的调用路径、引入css,最后再根据配置文件中的信息,加载app.js。这个文件只要知道这些功能就行了,要了解具体的内部实现,可以去搜索一下相关文章。
2、app.js文件的说明
- Ext.application({
- name: 'app',//应用的名称app
- extend: 'app.Application', //继承自app.Application,这个文件是 app/Application.js
- autoCreateViewport: 'app.view.main.Main' //自动创建的Viewport的类名,文件在 app/view/main/Main.js
- });
上面的类中会根据类加载的设置信息,自动为类 app.Application加载文件 /app/Application.js,同样也为app.view.main.Main类找到js文件并加载。
3、Application.js文件
- Ext.define('app.Application', {
- extend : 'Ext.app.Application',
- name : 'app',
- views : [], // MVC用到的view
- controllers : ['Root'
- // MVC控制器的名称,会自动到 /app/controller下去加载同名的js文件
- // 对于Root,会去自动加载 /app/Controller/Root.js 这个文件
- ],
- stores : [],
- launch : function() {
- // 需要执行的语句可以加在此处
- }
- });
4、Main.js 文件
- Ext.define('app.view.main.Main', {
- extend: 'Ext.container.Container',
- xtype: 'app-main',
- controller: 'main',
- //MVVM架构的控制器的名称,会在当前路径中根据‘Main’ + Controller 来确定文件名
- //这个我没找到其他任何可以自动加载MainController.js的依据,只能作上面的判断了
- viewModel: {
- type: 'main'
- //MVVM架构的viewModel的类型,会在当前路径中根据‘Main’ + Model 来确定文件名
- },
- layout: {
- type: 'border' //系统的主页面的布局
- },
- items: [{
- xtype: 'panel',
- bind: {
- title: '{name}'
- },
- region: 'west', //左边面板
- html: '<ul><li>This area is commonly used for navigation, for example, using a "tree" component.</li></ul>',
- width: 250,
- split: true,
- tbar: [{
- text: 'Button',
- handler: 'onClickButton'
- }]
- },{
- region: 'center', //中间面版
- xtype: 'tabpanel',
- items:[{
- title: 'Tab 1',
- html: '<h2>Content appropriate for the current navigation.</h2>'
- }]
- }]
- });
上面的类是继承自Container的一个容器类,这个类使用了extjs5的mvvm的新特性,
- controller: 'main',
- //MVVM架构的控制器的名称,会在当前路径中根据‘Main’ + Controller 来确定文件名
- //这个我没找到其他任何可以自动加载MainController.js的依据,只能作上面的判断了
- viewModel: {
- type: 'main'
- //MVVM架构的viewModel的类型,会在当前路径中根据‘Main’ + Model 来确定文件名
- },
extjs5(项目中文件的加载过程)的更多相关文章
- 2、手把手教你Extjs5(二)项目中文件的加载过程
上一节中用sencha工具自动创建了一个项目,并且可以在浏览器中查看.现在我们来看看js类加载过程.如下图所示: 1、首先:浏览器中输入 localhost:1841 ,调用 index.html; ...
- ELF文件的加载过程(load_elf_binary函数详解)--Linux进程的管理与调度(十三)
加载和动态链接 从编译/链接和运行的角度看,应用程序和库程序的连接有两种方式. 一种是固定的.静态的连接,就是把需要用到的库函数的目标代码(二进制)代码从程序库中抽取出来,链接进应用软件的目标映像中: ...
- Spring Framework框架解析(1)- 从图书馆示例来看xml文件的加载过程
引言 这个系列是我阅读Spring源码后的一个总结,会从Spring Framework框架的整体结构进行分析,不会先入为主的讲解IOC或者AOP的原理,如果读者有使用Spring的经验再好不过.鉴于 ...
- Spring 容器中bean的加载过程
bean 的加载过程大致可以分为以下几个步骤: 1.获取配置的资源文件 2.对获取到的xml资源文件进行解析 3.获取包装资源 4.解析处理包装之后的资源 5.加载 提取bean 并进行注册(添加到b ...
- Ogre中Mesh的加载过程详述
转自:http://blog.csdn.net/yanonsoftware/article/details/1031891 如果新开始写一个3D渲染引擎,Mesh应该是一个很好的切入点.当一个看似简单 ...
- QML中文件的加载(三种方法)
在这里小小总结一下QML文件中如何加载QML文件与JavaScript文件. 1.QML文件中加载JavaScript文件 语法: import <ModuleIdentifier> &l ...
- abp web.mvc项目中的菜单加载机制
abp中的菜单加载机制 在abp中菜单的定义与我们传统写的框架不一样,它是在编写代码的时候配置,而我们一般写的通用权限管理系统中,是后期在后台界面中添加的.这一点有很大不同.abp关于菜单的定义及管理 ...
- web项目中配置文件的加载顺序
当一个项目启动时,首先是web.xml: 这里面的配置: 为什么要在web.xml中配置struts的过滤器? 因为一个web项目运行的时需要加载的,或者默认的部分配置都会在web.xml中配置,中间 ...
- Java web 项目 web.xml 配置文件加载过程
转载自:http://blog.csdn.net/luoliehe/article/details/46884757#comments WEB加载web.xml初始化过程: 在启动Web项目时,容器( ...
随机推荐
- LR的损失函数&为何使用-log损失函数而非平方损失函数
https://blog.csdn.net/zrh_CSDN/article/details/80934278 Logistic回归的极大似然估计求解参数的推导: https://blog.csdn. ...
- 2017-2018-2 20165234 实验四《Android程序设计》实验报告
一.实验报告封面 课程:Java程序设计 班级:1652 姓名:刘津甫 学号:20165234 指导教师:娄嘉鹏 实验日期:2018年5月14日 实验时间:13:45 - 3:25 ...
- Nginx系列6:对称加密与非对称加密各自的应用场景
强推:推荐一篇通俗易懂的对称加密和非对称加密的文章:https://segmentfault.com/a/1190000004461428 推荐一篇文章:对称加密算法与非对称加密算法的优缺点:http ...
- java String、StringBuffer、StringBuild、StringTokenizer
StringBuffer线程安全.StringBuilder线程不安全 效率: StringBuilder(线程不安全) > StringBuffer(线程安全) > String Str ...
- Error "Client wants topic A to have B, but our version has C. Dropping connection."
ROS problem 出现这个问题的原因是话题上的消息类型和订阅节点指定的消息类型不匹配.
- Node.js的单元测试框架初体验
Mocha是一个功能丰富的JavaScript测试框架,运行在node.js平台和浏览器端,使异步测试变得简单和有趣.Mocha测试是串行的,允许灵活和准确的报告,同时将未捕获的异常映射到相应的测试用 ...
- Spring Boot中的initializers的作用分析
在SpringApplication的实例属性中有一个初始器的属性:List<ApplicationContextInitializer<?>> initializers ,这 ...
- python3+requests库框架设计05-unittest单元测试框架
unittest单元测试框架,主要由四部分组成:测试固件.测试用例.测试套件.测试执行器 测试固件(test fixture) 测试固件有两部分,执行测试前的准备部分setUp(),测试执行完后的清扫 ...
- .NET之美 第一部分C#语言基础
第一章 类型基础 1 值类型与引用类型 CLR 支持两种类型:值类型和引用类型, C#的所有值类型均隐式派生自System.ValueType: 结构体:struct(直接派生于System.Valu ...
- Centos6.8实现SVN提交后自动更新目录
1.创建svn目录 mkdir /var/www/project 2.从服务器的本地svn上checkout最新版本代码到www目录下的project文件夹,注意本地svn服务器地址和端口号是在启动s ...