Ext JS 6开发实例(二) :使用CMD创建应用程序
由于Ext JS 6将原来的Ext JS和Sencha Touch合并为一个框架,因而在使用CMD来创建应用程序前,需要考虑清楚你是要创建一个通用应用程序,还是仅仅只是针对桌面或移动设备的应用程序。
要做这样的考量,是因为通用应用程序和比较单一的应用程序在开发上会有些小麻烦。这些小麻烦主要是因为Ext JS的自动加载机制造成的,有时候会很困扰人。
Ext JS的自动加载机制是根据类名来划分目录兵加载脚本的,例如SimpelCMS.view.Main,如果没有自定义过SimpelCMS的路径指向,默认的脚本位置就是app/view/Main.js目录。在Ext JS 6中,通用应用程序为了区分桌面和移动两个应用程序所需要的不同的文件,添加了classic和modern目录,这时候问题就来了,同一个类名,可能是在app目录,也可能是在classic或modern目录。如果直接根据自动加载机制,就会出现找不到类文件的情况(默认在app目录下找),为了解决这一问题,就以指定路径的方式将类与对应的路径写在了classic.json和modern.json文件中。这时候,另外一个问题产生了,当你新建了一个类的时候,你就必须build一次,将类的路径写进classic.json或modern.json中,不然就找不到该类了,也就是说,你最好是执行sencha app watch监控着目录,让cmd随时去生成classic.json或modern.json,这点对开发来说应该问题不大。最主要的还是生成操作需要获取首页文件的路径,然后根据脚本与首页的相对路径来构建脚本的路径,这对于使用MVC作为后台开发的应用程序来说就会出现找不到脚本的情况,还需要通过调整bootstrap.js来修正,总的来说是小问题很多,不过,整个过程熟悉了之后,问题也不算太大。而对于只针对唯一平台的项目,就没这个困扰了,会减少不少麻烦。
由于SimpelCMS并没有针对移动平台的考量,因而不需要创建通用应用程序,这样,开发环境和过程就和之前Ext JS 4的差不多了。下面来创建这个应用程序。
由于命令使用太少,记忆力也不怎么样,会不记得如何来创建应用程序,这时候,可以先输入以下命令来获取帮助:
sencha help gen app
这时候会看到如下图所示的输出:
从图中可以看到,这个帮助做得不错,在图中的3、4行就给出了创建针对于特定平台的创建应用程序的命令格式。其中,第3行的参数“classic”就清楚表明了这只创建一个针对桌面平台的经典应用程序,而第4行则是创建针对移动设备的现代应用程序。
下面执行以下命令来创建一个名为SimpleCMS的应用程序:
sencha -sdk d:\Workspace\ext6 gen app -classic SimpleCMS ./SimpleCMS
以上命令添加了sdk参数用来指定Ext JS 6的框架目录,不然它会从互联网上下载框架,这得花不少时间。
等待一会,就可在SimpleCMS目录看到以下目录和文件了:
对比之前使用Ext JS 4创建的应用程序,会发现目录结构基本差不多,因而,如果已经熟悉了Ext JS 4的开发,使用Ext JS 6进行开发,不会感觉太困难。
现在在Visual Studio打开之前创建的SimpleCMS项目,在解决方案资源管理器中将原来的Scripts目录修改为Scripts_old,并创建一个新的Scripts目录。然后将使用CMD创建的应用程序中的文件和目录复制到Scripts目录下。
接下来是修改首页。打开scripts目录下的index.html文件,将代码全部复制到Views\Home目录下的index.cshtml文件里。
注意:需要修改加载bootstrap.js脚本的路径。
打开app_start目录下的BundleConfig.cs文件,将暂时代码全部屏蔽掉,因为这些文件和目录已经没有了。
复制scripts目录的index.html文件,然后点选项目SimpleCMS,在右键菜单中选择粘贴,这样做的目的是为了在使用sencha app build命令的时候,让CMD能找到index.html文件,以免出现错误。
打开app.json文件,找到indexHtmlPath,将首页修改为“../index.html”,这样生成应用程序的时候就能正确设置路径了。
在命令提示符窗口进入Scripts目录,然后运行sencha app build命令重新生成一下应用程序。
好了,现在在生成菜单选择重新生成解决方案,然后在调试菜单选择“开始执行(不调试)”,就可在浏览器看到如下的界面了:
今天就说到这里了。如果有任何疑问,可以到qq交流群391747779 进行咨询。
Ext JS 6开发实例(二) :使用CMD创建应用程序的更多相关文章
- Ext JS 6开发实例(一)
很久没写文章了,主要原因和大家差不多,都要为生活奔忙,搞了两个小项目.这两个小项目很凑巧,都可以使用Ext JS来开发,这正是练习使用Ext JS 6的好机会,自然不会错过. 很多读者可能会问,为什么 ...
- Ext JS 6开发实例(三) :主界面设计
在上文中,已经将CMD创建的应用程序导入到项目里了,而且也看到默认的主界面了,今天的主要工作就是修改这个主界面,以符合项目的需要.除了设计主界面,还有一些其他的东西需要配置一下. 添加本地化包 打开a ...
- Ext JS 6开发实例(四) :调整主视图
上文把主界面设置好,但是主视图因为界面的微调出现了显示问题,本文将把它调整好了. 打开app/view/main/Main.js,可以看到主视图是派生于标签面板(Ext.tab.Panel)的.在视图 ...
- 【转】EXT JS MVC开发模式
原文链接:EXT JS MVC开发模式 在app(亦即根目录)文件夹下面创建controller.model.store和view文件夹,从名称上就知道他们该放置什么代码了吧.然后创建Applicat ...
- Ext Js v6.2.0.103 Sencha Cmd 命令
Sencha Cmd v6.2.0.103 Sencha Cmd 提供几种全局开关命令. 在大多数案例中, 第一步是在Sencha SDK基础上创建应用 例如 Ext JS 或 Sencha Touc ...
- NDK 开发实例二(添加 Eigen库)
上一篇,我已经阐述了如何创建一个简单的NDK实例: NDK 开发实例一(Android.mk环境配置下) 在上一篇的基础上,我们来添加Eigen库,然后做一个简单实例. Eigen是一个高层次的C + ...
- EXT.NET高效开发(二)——封装函数
在上一篇<EXT.NET高效开发(一)--概述>中,大致的介绍了一下EXT.NET.那么本篇就要继续完成未完成的事业了.说到高效开发,那就是八仙过海各显神通.比如使用代码生成器,这点大家可 ...
- 【翻译】如何创建Ext JS暗黑主题之二
原文:How to Create a Dark Ext JS Theme– Part 2 我已经展示了如何去开发一个精致的暗黑主题,看起来就像Spotify.在本文的第一部分,了解了Fashion.S ...
- Ext JS 5初探(二) ——Bootstrap.js
在Bootstrap.js文件中,总共有1500行(包含注释和空行),使用编辑器的代码折叠功能就如下图可以一窥全貌了. 从代码可以看到,这里主要定义了Ext.Boot.Ext.globalEval.E ...
随机推荐
- Ubuntu 16.04安装JDK/JRE并配置环境变量
作为一个Linux新手,在写这篇文章之前,安装了几次jdk,好多次都是环境变量配置错误,导致无法登录系统.经过几天的研究,今天新装系统,从头来完整配置一遍 系统版本:Ubuntu 16.04 JDK版 ...
- python中type dtype astype 的用法
1.type 获取数据类型 2.dtype 数组元素的类型 3.astype 修改数据类型
- MVC简单随笔
MVC的具体含义是:model+view+controller,即模型+视图+控制它们各自处理自己的任务: (1)模型(model):模型持有所有的数据.状态和程序逻辑.模型独立于视图和控制器.(2) ...
- SecureFX连接Linux后文件夹中文乱码问题解决(转)
在使用SecureFX 连接Linux 时,发现文件夹显示乱码,一直尝试各种配置,现将方法整理一下!供大家参考! 首先在选项中设置字符编码为UTF-8 然后在全局选项中找到Securefx的配置文件 ...
- Jenkins的关闭、重启
以前一直用从cmd进入jenkins的安装目录,执行jenkins stop/start,但是新的jenkins有更加方便功能 关闭jenkins服务 只需要在访问jenkins服务器的网址url地址 ...
- 修改原生单选框样式(vue单选组件)
一.效果如图 二.实现 修改单选样式 //html <div class="radio-wrap"> <input type="radio" ...
- WPF TextBlock 判断 isTextTrimmed 文本是否超出
WPF TextBlock 设置TextTrimming情况下 判断 isTextTrimmed(Text 文本是否超出 是否出现了省略号) private bool HasTextTrimmed(T ...
- Python处理正则表达式超时的办法
最近在项目中遇到一个问题,就是需要采用正则匹配一些疑似暗链和挂马的HTML代码,而公司的老大给的正则表达式有的地方写的不够严谨,导致在匹配的时候发生卡死的现象,而后面的逻辑自然无法执行了.虽然用正则表 ...
- PHP 5 String 函数
PHP 5 String 函数 PHP String 函数是 PHP 核心的组成部分.无需安装即可使用这些函数. 函数 描述 addcslashes() 返回在指定的字符前添加反斜杠的字符串. add ...
- 在Spring Boot中使用数据库事务
我们在前面已经分别介绍了如何在Spring Boot中使用JPA(初识在Spring Boot中使用JPA)以及如何在Spring Boot中输出REST资源(在Spring Boot中输出REST资 ...