小程序开发需要三个描述整体程序的app文件 和 一个描述多个页面的 pages文件夹。

(1)三个app文件分别是app.js,app.json,app.wxss。

  • app.js文件是脚本文件处理一些公共的或者全局的逻辑。比如在这里定义全局变量处理登录逻辑指定首页等。

  • app.json文件是小程序的整体配置文件。我们必须要在这个文件中配置小程序是由哪些页面组成的,我们还可以在这个文件中配置整个小程序的统一的窗口 背景色,导航条 样式,默认标题。但是必须注意该文件不可添加任何注释。

  • app.wxss文件是整个小程序的公共样式表。我们可以在小程序子页面组件的 class 属性上直接使用 app.wxss 中声明的样式规则。也就是说在这个文件里定义的样式在其他任何的子页面中都可以使用。这个也是为了代码的简洁和整体风格的统一。

(2)接下来说pages文件夹:
小程序的所有显示的页面都必须以子文件夹的形式存放在pages文件夹里面,包括首页。项目展示多少个页面,在pages文件夹下就要新建多少个子文件夹。每个页面的子文件夹,必须包括这四个文件:.js , .wxml , .wxss 和 .json(* 表示文件名)。这四个文件的文件名必须和子文件夹的名字一样。

  • *.js文件是当前页面脚本文件,也是业务逻辑的处理文件,当前页面的所有和后端服务器接口的交互,请求数据的逻辑都在这个文件完成,是核心文件,必须创建。

  • .wxml文件是搭建当前页面元素的文件。负责搭建当前页面的结构和布局,相当于网页开发中的.html文件,这个文件中存放一些类似于div span form input sectiond等布局代码,必须创建。

  • *.wxss文件是当前页面的样式文件。负责调整当前页面的样式,元素之间的间距,字体的大小,字体颜色,背景图等,相当于网页开发中的css文件,需要时创建。

  • *.json文件是当前页面的配置文件。配置当前页面的窗口背景色,导航条样式,默认标题等,需要时创建不需要千万不要创建,这里我发现一个bug,就是如果创建了这个配置文件,但是配置文件中没有任何内容,那么页面渲染的时候什么也显示不出来,所以如果创建了这个文件,那么就必须在这个文件里写点什么即使写“{}”也行,要不然就不要创建。(个人猜测:是如果json文件为空,小程序在加载的时候就认为这个json配置是错的,页面渲染终止。我已经把这个bug提交给微信官方了!!!)

以上这四个文件只作用于当前的页面,不作用于整体和其他页面。

说了这么多,现在要正式开发啦: 
1、点击 目录窗口 右上角的 + 号,创建一个pages文件夹和app.js,app.json,app.wxss文件。创建完成以后就是下面这个样子:

图5 

2、此时pages文件夹下还没有任何的页面,现在我们的项目需要一个首页,那么就需要在pages目录下新建首页的子文件夹,点击 pages那行的最右边的 +号创建index子文件夹,然后点击index那行的最右边的+号,在这个子文件夹里把那3个文件创建完(鉴于上文发现的bug,这里就先不创建index.json文件,需要时再创建)。

这里要注意,3个文件必须和目录同名。

完成以后,就是下面这样

图6:

3、页面结构现在已经完成了,该有的页面也有了。但是,此时此刻页面上居然什么也没有显示,当然了,因为我们还没写代码呢!
好吧,接下来,开始敲~代~码~~~~
上面已经说了,wxml是搭建页面元素的文件。我从子页面的wxml文件开始,来一点一点的编写。写下第一行代码:

<text>hello world!</text>

写完了,crtl+s保存就行。今天子页面的代码编写工作已经完成了,是不是很惊悚,很难以置信。今天,子页面就写这一行代码。

如图7:

4、首页页面虽然我们写好了,但是现在小程序的页面上还是什么都没有显示。
别着急!这是因为我们还没有配置。如果想要页面显示出来,就必须在app.json中配置小程序的页面,参数为pages。pages是一个数组,其中的每个元素都是每个页面的相对根目录的路径+文件名,文件名不需要写后缀,小程序运行的时候会自动去寻找.json .wxml .wxss .js四个文件。数组的第一项表示小程序的初始页面,也就是首页,小程序的每个页面都需要在数组中配置,并且以后小程序页面增加或者减少都需要修改pages数组。
现在我们在app.json中写下我们的配置信息,我们把index做为小程序的初始页面,代码如下:

{"pages": [

    "pages/index/index"

    ]

}

图8:

注意:配置文件的编写遵循json的格式,参数需要用双引号""括起来,配置文件的开始和末尾需要用大括号"{""}"包含。

如果你对这些基础知识已经烂熟于心了,那么这篇文章可以帮助你快速开发一个完整的小程序demo。

您可能感兴趣的

微信小程序开发入门:10分钟从0开始写一个hello-world的更多相关文章

  1. 微信小程序开发入门教程

    做任何程序开发要首先找到其官方文档,微信小程序目前还在邀请内测阶段,目前官方放出了部分开发文档,经过笔者一天的查看和尝试,感觉文档并不全面,但是通过这些文档已经能够看出其大概面貌了.闲话不多说,我们先 ...

  2. 微信小程序开发入门与实践

    基础知识---- MINA 框架 为方便微信小程序开发,微信为小程序提供了 MINA 框架,这套框架集成了大量的原生组件以及 API.通过这套框架,我们可以方便快捷的完成相关的小程序开发工作. MIN ...

  3. 微信小程序开发-入门到熟练(wepy-初级篇)

    Title:最近做完了项目,review代码的同时,就想写一篇详细的小程序开发经历,记录自己的项目从0到1的过程 Desc : 小程序从0到1,从小白到完成项目,你需要这样做: step1: 基础知识 ...

  4. 微信小程序开发入门篇

    本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果. 开发准备工作 获取微信小程序的 AppID 登录 https://mp.weixin.qq.com ,就可以在网站的& ...

  5. 微信小程序开发入门首选

    推荐一本书吧,直接上图,微信开发,微信网页开发,微信小程序开发,都用得着. 推荐一本书吧,直接上图,微信开发,微信网页开发,微信小程序开发,都用得着. 推荐一本书吧,直接上图,微信开发,微信网页开发, ...

  6. 小程序开发-微信小程序开发入门

    分享一个微信小程序开发的基本流程,仅供参考. 第一步:注册微信小程序公众号,注册成功后,登录微信公众号管理后台,等待下一步操作. 第二步:进入微信小程序的后台后,下载微信内置的微信小程序开发者工具,以 ...

  7. 微信小程序开发入门(一)

     小程序学习入门--(一) 最近自己学习微信小程序的过程当中自己总结出来的知识点,我会不断地更新和完善! 小程序的开发工具 一台电脑 熟悉HTML.CSS.JS基本语法 开发工具: 微信web开发者工 ...

  8. 微信小程序开发入门教程(一)---hello world

    由于无法备案网站,前期做了个微信小程序(开发版)就搁置了,几乎忘了开发过程.现在重新梳理,做个记录. 一.最基本的小程序前端例子hello 1.下载安装  微信开发者工具  官网: https://d ...

  9. 微信小程序开发入门

    微信小程序 首先说下结构吧,看看小程序到底长什么样子 这是一个微信提供的自己的开发工具,相当于xcode吧,由此也可以看出腾讯的野心并不小啊,左边的就是编辑调试什么的,往右就是一个模拟器,你可以选择i ...

随机推荐

  1. [转].NET程序破解仅需三步

    近期开发公司商城,为了简化开发用了V5Shop网店程序.本来预计一个月完工,哪知道出现一堆问题大大增加了我的工作量(早知道还不如全部自己写了). 破V5Shop真不地道,说是免费的,结果程序一大堆问题 ...

  2. Swift基础之UITextField

    //设置全局变量,将下面的替换即可     //var myTextField = UITextField();     //系统生成的viewDidLoad()方法     override fun ...

  3. mysql进阶(七)limit的用法

    limit是mysql的语法 select * from table limit m,n 其中m是指记录开始的index,从0开始,表示第一条记录 n是指从第m+1条开始,取n条. select *  ...

  4. HTTP2概述

    HTTP/2 提供了HTTP语义的传输优化.HTTP/2支持所有HTTP/1.1的核心特征,并且在其他方面做的更高效. HTTP/2中基本的协议单位是帧.每个帧都有不同的类型和用途.例如,报头(HEA ...

  5. 【翻译】使用Sencha Touch创建基于Tizen应用程序

    原文:Building a Tizen App With Sencha Touch 作者:Gautam Agrawal Gautam Agrawal is Sencha's Sr. Product M ...

  6. AngularJS进阶(二十一)Angularjs中scope与rootscope区别及联系

    Angularjs中scope与rootscope区别及联系 scope是html和单个controller之间的桥梁,数据绑定就靠他了.rootscope是各个controller中scope的桥梁 ...

  7. Linux - info

    基本上,info与man的用途其实差不多,都是用来查询命令的用法或者是文件的格式.但是与man page一口气输出一堆信息不同的是,info page则是将文件数据拆成一个一个的段落,每个段落用自己的 ...

  8. OpenCV 闭合轮廓检测

    这个好像是骨头什么的,但是要求轮廓闭合,于是对图片进行一下膨胀操作,再次检测轮廓就好了. // A closed contour.cpp : 定义控制台应用程序的入口点. // #include &q ...

  9. Erlang和Web

    Erlang和Web 本文译自: http://ninenines.eu/docs/en/cowboy/1.0/guide/erlang_web/ Web是并发的 当你访问一个网站,很少有并发.几个连 ...

  10. Linux - RAID和LVM

    什么是 RAID 磁盘阵列全名是『 Redundant Arrays of Inexpensive Disks, RAID 』,英翻中的意思是:容错式廉价磁盘阵列. RAID 可以透过一个技术(软件或 ...