打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
小程序必知必会基础知识(长文)
userphoto

2018.05.26

关注

"技术哥"今天给大家详细解读一下小程序的结构特点与其框架解析。

一、小程序的结构特点(详细版)

a .json 后缀的 JSON 配置文件(没什么好说的,就是普通的json文件)

b .wxml 后缀的 WXML 模板文件(类Html文件)

c .wxss 后缀的 WXSS 样式文件(类CSS文件)

d .js 后缀的 JS 脚本逻辑文件(没什么好说的,就是普通的js)

重点来了

app.js

代码中定义了一个App对象,该对象包含onLaunch方法和globalData成员变量,其中onLaunch方法会在程序启动时由框架来进行调用。在该方法中,程序通过微信提供的本地存储接口获取了一个logs变量,第一次获取时会返回空,这时将变量初始化为空数组,之后在数组头部添加一个格式化的时间字符串,最后将数组变量存储在本地。login和getSetting方法很容易理解,会执行获取用户信息的功能。代码最后定义了 globalData成员变量,该成员包含userInfo变量,用来保存用户信息。

app.json

app.json是对当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等。tabBar就是我自己添加的。pages是用于描述当前小程序所有页面路径window是小程序所有页面的顶部背景颜色,文字颜色定义在这里的。

app.wxss

这个不用说肯定是定义的一个全局css文件,就略过了

project.config.json

通常大家在使用一个工具的时候,都会针对各自喜好做一些个性化配置,例如界面颜色、编译配置等等,当你换了另外一台电脑重新安装工具的时候,你还要重新配置。考虑到这点,小程序开发者工具在每个项目的根目录都会生成一个 project.config.json你在工具上做的任何配置都会写入到这个文件,当你重新安装工具或者换电脑工作时,你只要载入同一个项目的代码包,开发者工具就自动会帮你恢复到当时你开发项目时的个性化配置,其中会包括编辑器的颜色、代码上传时自动压缩等等一系列选项。

WXML 模板

和 HTML 非常相似,有标签、属性等等构成,总结起来有两点:

1. 标签名字有点不一样往往写 HTML 的时候,经常会用到的标签是 <div>, <p>,<span>,开发者在写一个页面的时候可以根据这些基础的标签组合出不一样的组件,例如日历、弹窗等等。换个思路,既然大家都需要这些组件,为什么我们不能把这些常用的组件包装起来,大大提高我们的开发效率。 从上边的例子可以看到,小程序的 WXML 用的标签是 <view>, <button>, <text> 等等,这些标签就是小程序给开发者包装好的基本能力,我们还提供了地图、视频、音频等等组件能力,更多详细的组件请参考API

2. 多了一些 wx:if 这样的属性以及 {{ }} 这样的表达式 在网页的一般开发流程中,我们通常会通过 JS 操作 DOM ,以引起界面的一些变化响应用户的行为。例如,用户点击某个按钮的时候,JS 会记录一些状态到 JS 变量里边,同时通过 DOM API 操控 DOM 的属性或者行为,进而引起界面一些变化。当项目越来越大的时候,你的代码会充斥着非常多的界面交互逻辑和程序的各种状态变量,显然这不是一个很好的开发模式,因此就有了 MVVM 的开发模式(例如 React, Vue),提倡把渲染和逻辑分离。简单来说就是不要再让 JS 直接操控 DOM,JS只需要管理状态即可,然后再通过一种模板语法来描述状态和界面结构的关系即可。

二、小程序的框架解读

小程序的框架也是用到了这个思路,如果你需要把一个 Hello World 的字符串显示在界面上, WXML 是这么写 :

WXML

而JS 只需要管理状态即可,即可以这样写

JS

通过 {{ }} 的语法把一个变量绑定到界面上,我们称为数据绑定。仅仅通过数据绑定还不够完整的描述状态和界面的关系,还需要 if/else, for等控制能力,在小程序里边,这些控制能力都用 wx: 开头的属性来表达。

JSON 是一种数据格式,并不是编程语言,在小程序中,JSON扮演的静态配置的角色

json心得

app.json

app.json

结果 注意到模拟器顶部 bar 的文本字段由 Wechat 变为了MiniProgram。 顶部bar 的wording发生了变化

navigationbar

json 语法

JSON

JSON

JSON的Key必须包裹在一个双引号中,在实践中,编写 JSON 的时候,忘了给 Key 值加双引号或者是把双引号写成单引号是常见错误。

JSON

JSON的值只能是以下几种数据格式:

1.数字,包含浮点数和整数

2.字符串,需要包裹在双引号中

3.Bool值,true 或者 false

4.数组,需要包裹在方括号中 []

5.对象,需要包裹在大括号中 {}

6.Null

7.其他任何格式都会触发报错,例如 JavaScript 中的 undefined

JSON错误使用JS的值

今天"技术哥"给大家介绍了小程序的结构特点与其框架的解析,大家一定不要死记硬背,重在理解,如果忘记了返回来再看一遍,这样效率是最高的!"技术哥"接下来还会给大家带来更深入更详细的小程序教程,请大家继续关注"技术哥",做一个持续学习者!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
微信小程序入门
自己如何制作一个小程序?
零基础!小白也可以开发自己的小程序!
微信小程序开发入门教程
小程序底层框架实现原理解析
通宵吐血赶出的全球首篇微信应用号开发教程!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服