前言
考完研没事做了,计划之一是研究下小程序的开发;
大多数内容的来源都是微信官方开放文档。
目录
1 小程序代码构成
[开发笔记] 微信小程序入门笔记
1 小程序代码构成
1.1 类型
json 格式是配置文件,wxml 是模板文件(类比 xml),wxss 是样式文件(类比 css),js 是脚本逻辑文件。
1.2 json 配置文件
1.2.1 总览
项目根目录下有 app.json 和 project.config.json,pages / logs 目录下有 logs.json。
1.2.2 小程序配置 app.json
负责小程序的全局配置,包括所有页面路径、界面表现、网络超时时间、底部 tab 等。样例如下:
{ "pages":[ "pages/index/index", "pages/logs/logs" ], "window":{ "backgroundTextStyle":"light", "navigationBarBackgroundColor":"#fff", "navigationBarTitleText":"Weixin", "navigationBarTextStyle":"black" } }
pages 字段描述当前小程序所有页面路径,这是为了让微信客户端知道当前你的小程序页面定义在哪个目录;
window 字段定义顶部背景颜色和文字颜色定义。
所有全局配置项:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html
1.2.3 工具配置 project.config.json
用于更换开发环境时恢复个性化配置。
1.2.4 页面配置 page.json
用于独立定义每个页面的属性。
所有页面配置项:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/page.html
1.2.5 json 语法
大括号包裹,key-value 形式表达,数据格式支持数字、字符串(双引号内)、布尔、数组(方括号内)、对象(大括号内),无法使用注释,样式如上。
1.3 wxml 模板文件
类比于 html 格式,标签命名有所不同,功能有少量不同。样例如下:
<view class="container"> <view class="userinfo"> <button wx:if="{{!hasUserInfo && canIUse}}"> 获取头像昵称 </button> <block wx:else> <image src="{{userInfo.avatarUrl}}" background-size="cover"></image> <text class="userinfo-nickname">{{userInfo.nickName}}</text> </block> </view> <view class="usermotto"> <text class="user-motto">{{motto}}</text> </view> </view>
1.4 wxss 样式文件
类比于 css 格式,做了一定补充与修改。
1.5 js 逻辑交互文件
用于和用户做交互,比如相应点击、获取位置等,即后端部分。
1.6 分层与顺序
小程序加载过程:根据 json 配置生成界面,根据 wxml 和 wxss 装载结构与样式,这是属于渲染层;最后装载 js,这是属于逻辑层。