通过上一章节的学习,我们的开发环境已经配置好了,接下来我们开始创建第一个sencha touch的项目,网络上很多sencha touch的教程都是手动搭建项目的,

  不过手动搭建的项目缺少一些sencha cmd对项目代码打包压缩编译的关键文件,

  所以在这里我们从创建项目开始都是使用sencha cmd工具,请确保上一章节中所有的环境配置都已经成功,

  那么接下来我们开始我们的项目创建:

  1.项目创建

    在项目创建前,我们先确认下我们的sencha cmd的版本,

    点击开始==》运行==》cmd,

    键入sencha,会显示cmd的版本,

    现在最新的是4.0,如果不是最新的版本,可以键入指令    

   sencha upgrade

    该指令会自动从远程服务器上更新sencha cmd的版本,

    确认版本更新完毕后,我们来创建一个新的项目,

    用cmd创建sencha touch的项目需要在sencha touch的sdk包的环境下进行,我们有两种方式:

    1.1 在sencha sdk包目录下进行创建

    点击开始==》运行==》键入cmd,

    一般默认显示是系统用户文件夹路径下,

    我的sdk包被我拷到了iis的站点文件夹下D:\webtest\touch-2.3.1,

    所以这里我输入d:,然后回车,

    cd D:\webtest\touch-2.3.1,

    进入到sdk包目录下,如图:

    

    这个时候,我们运行sencha cmd创建项目的指令

  

    sencha generate app MyFirst ../MyFirst

    generate app是创建一个新的项目,

    第一个参数MyFirst对应的是项目的名称,

    第二个参数../MyFirst对应是项目的输出地址,是相对路径,指向是cmd当前指定路径的上级目录,

    有web开发经验的同学应该一眼就能看懂,

    指令执行后,如图所示:

     

    在不报错的情况下项目就创建成功了,

    此时在我的D:/webtest目录下就会生成一个MyFirst项目文件,这就是我们新创建的sencha touch项目,

    因为已经在服务站点路径下,如果生成的项目路径不在web服务站点路径下,可以把项目拷过去,

    接着我们可以打开浏览器通过http://127.0.0.1/MyFirst/进行访问,

    在等在文件载入完成后,我们便能看到我们第一个项目了,如图:

    

     是不是很兴奋,你可以试着调整下浏览器的窗口大小,整个项目完全是响应式的,会根据你的窗口大小调整布局

    有些人可能想直接点击新建项目下的index.html文件运行项目,此时页面会卡在载入界面并报如下错误:

    这是因为cmd创建项目的时候,会生成一个bootstrap.json文件,这个文件的访问是在development.js中通过xhr的方式实现的

    var xhr = new XMLHttpRequest();
xhr.open('GET', 'bootstrap.json', false);
xhr.send(null);

    需要http请求,所以会报错,

    不过整个项目完成后用cmd指令打包后,json文件都会被去掉,这个时候就不会出现该问题了,

    接下来我们讲一下另一种创建方式

    1.2 通过cmd指令直接指定sdk路径创建

    该创建方式跟上一种大同小异,唯一的区别在于,不用先将指令指定到sdk包路径下了,我们可以直接用

  

   sencha -sdk D:\webtest\touch-2.3.1 generate app MyFirst D:\webtest\MyFirst

     我们在generate app 前面加上了

    -sdk D:\webtest\touch-2.3.1,

    -sdk后面跟的就是我们的sencha touch的sdk包的路径,这样执行上面的指令,跟我们方法一里的效果是一样的,

    指令执行后,我们的MyFirst项目就被创建完成了

  

     下一章我们将对生成的项目结构做系统的分析

 

    

    

sencha touch 入门系列 (三)sencha touch 项目创建的更多相关文章

  1. sencha touch 入门系列 (九) sencha touch 布局layout

    布局用来描述你应用程序中组件的大小和位置,在sencha touch中,为我们提供了下面几种布局: 1.HBox: HBox及horizontal box布局,我们这里将其称为水平布局,下面是一段演示 ...

  2. sencha touch 入门系列 扩展篇之sencha touch 项目打包压缩

    经常有新手同学抱怨说sencha touch的项目加载速度为什么这么慢,经常要10秒左右的时间甚至更多, 大家都知道,sencha touch开发的项目中引用了大量的js文件,当我们打开项目时,st的 ...

  3. mybatis入门系列三之类型转换器

    mybatis入门系列三之类型转换器 类型转换器介绍 mybatis作为一个ORM框架,要求java中的对象与数据库中的表记录应该对应 因此java类名-数据库表名,java类属性名-数据库表字段名, ...

  4. C# 互操作性入门系列(三):平台调用中的数据封送处理

    好文章搬用工模式启动ing ..... { 文章中已经包含了原文链接 就不再次粘贴了 言明 改文章是一个系列,但只收录了2篇,原因是 够用了 } --------------------------- ...

  5. [转]C# 互操作性入门系列(三):平台调用中的数据封送处理

    参考网址:https://www.cnblogs.com/FongLuo/p/4512738.html C#互操作系列文章: C# 互操作性入门系列(一):C#中互操作性介绍 C# 互操作性入门系列( ...

  6. sencha touch 入门系列 (四)sencha touch 新建项目目录结构解析

    通过上一章节的操作,我们的项目已经创建完成了, 大家通过http://127.0.0.1/MyFirst/应该都已经访问到了自己的应用, 接下来,我们展开我们项目,如图所示: 一.目录结构 1. .s ...

  7. sencha touch 入门系列 (七)sencha touch 类系统讲解(上)

    在mvc结构的基础上,sencha touch又使用了sencha公司为extjs4开发出来的类系统,在面向对象的编程语言中,类是对对象的定义,它描述了对象所包含的大量属性和方法. 跟面向对象语言类似 ...

  8. sencha touch 入门系列 (二)sencha touch 开发准备

    这是本人第一次写博客教程,没什么经验,文笔也不是很好,写这教程一方面为了巩固自己这段时间的学习成果,一方面帮助大家解决问题,欢迎大家多提建议,指出问题.接下来我们就开始我们的sencha touch开 ...

  9. ActiveMQ入门系列三:发布/订阅模式

    在上一篇<ActiveMQ入门系列二:入门代码实例(点对点模式)>中提到了ActiveMQ中的两种模式:点对点模式(PTP)和发布/订阅模式(Pub & Sub),详细介绍了点对点 ...

随机推荐

  1. Hive Tuning(四) 从查询计划看hive.auto.convert.join的好处

    今天我们来讲一下如何看懂Hive的查询计划. hive的执行计划包括三部分 – Abstract syntax tree – 可以直接忽略  – Stage dependencies – 依赖 – S ...

  2. server后台程序的内存使用问题

    眼下我开发的一个server后台程序存在这么一个问题,因为我的程序要不断的收发消息,并做统计.统计用的是stl的多重map.在统计中会不断的往map里赛数据. 可是每次统计后我都会调用clear()去 ...

  3. axis client error Bad envelope tag: definitions

    http://blog.csdn.net/lifuxiangcaohui/article/details/8090503 ——————————————————————————————————————— ...

  4. 数学符号arg含义

    argument of the maximum/minimum arg max f(x): 当f(x)取最大值时,x的取值 arg min f(x):当f(x)取最小值时,x的取值 表示使目标函数取最 ...

  5. Python if-else and while

    if-elif语法 if condition: [tab键] command elif condition: [tab键] command elif condition: [tab键] command ...

  6. Namenode HA原理详解

    社区hadoop2.2.0 release版本开始支持NameNode的HA,本文将详细描述NameNode HA内部的设计与实现. 为什么要Namenode HA? 1. NameNode High ...

  7. 建议 for 语句的循环控制变量的取值采用“半开半闭区间”写法

    建议 for 语句的循环控制变量的取值采用“半开半闭区间”写法. #include <iostream> /* run this program using the console pau ...

  8. 【转载】C#进阶系列——动态Lamada(二:优化)

    前言:前几天写了一篇动态Lamada的文章C#进阶系列——动态Lamada,受园友xiao99的启发,今天打算来重新优化下这个动态Lamada的工具类.在此做个笔记,以免以后忘了. 一.原理分析 上篇 ...

  9. sdut2852 小鑫去爬山9dp入门)

    #include<stdio.h> int a[100][100]; int main() { int n; while(scanf("%d",&n)!=EOF ...

  10. mongodb group php 操作

    紧接着上篇来,这篇主要讲,mongodb的group功能,做的还是挺强大的,相当对于find(),skip(),distinct()等,用法比较复杂. 测试数据 > db.fruit.find( ...