[开发笔记] 微信小程序入门笔记

前言

考完研没事做了,计划之一是研究下小程序的开发;

大多数内容的来源都是微信官方开放文档。

目录

1 小程序代码构成

[开发笔记] 微信小程序入门笔记

1 小程序代码构成

1.1 类型

  json 格式是配置文件,wxml 是模板文件(类比 xml),wxss 是样式文件(类比 css),js 是脚本逻辑文件。

1.2 json 配置文件

  1.2.1 总览

    项目根目录下有 app.jsonproject.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,这是属于逻辑层。