通过上一章讲解,我们了解到如何初始化一个小程序项目,这里是官方给到demo地址,通过demo来看教程更方便于我们理解项目架构。

由四种文件构成:

  1. .json 后缀的 JSON 配置文件
  2. .wxml 后缀的 WXML 模板文件
  3. .wxss 后缀的 WXSS 样式文件
  4. .js 后缀的 JS 脚本逻辑文件

json配置

  • app.json相当于一个项目的路由机制,以及全局设置,含义和简单示例如下,其他详细配置参考小程序的配置 app.json
  1. pages字段 —— 用于描述当前小程序所有页面路径,这是为了让微信客户端知道当前你的小程序页面定义在哪个目录。
  2. window字段 —— 小程序所有页面的顶部背景颜色,文字颜色定义在这里的
{
"pages":[
"pages/index/index",
"pages/logs/logs"
],
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle":"black"
}
}
  • project.config.json配置针对各自喜好做一些个性化配置,例如界面颜色、编译配置等等,小程序开发者工具在每个项目的根目录都会生成一个 project.config.json,你在工具上做的任何配置都会写入到这个文件,当你重新安装工具或者换电脑工作时,你只要载入同一个项目的代码包,开发者工具就自动会帮你恢复到当时你开发项目时的个性化配置,其中会包括编辑器的颜色、代码上传时自动压缩等等一系列选项。参考文档 开发者工具的配置
  • page.json用来表示 pages/logs 目录下的 logs.json 这类和小程序页面相关的配置,page.json是定义全局,而page.json是定义某个页面。参考文档 小程序的配置 page.json

WXML,WXSS,JS模版

  • WXML学前端的应该都知道HTML + CSS + JS,那么就不难理解wxml,wxss,js了,给个官网例子,很容易理解和上手使用,特别是对于学过react native的人来说,一看就明白
<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>
  • WXSS和CSS相比,无需再根据屏幕尺寸换算适配方式了,WXSS在底层支持新的尺寸单位 rpx,省去了麻烦的换算步骤。和前边 app.json, page.json 的概念相同,app.wxss是定义全局样式,page.wxss是定义某个页面样式。此外,WXSS仅支持不放CSS选择器。更详细的文档可以参考 WXSS
  • JS里是写一些逻辑来显示交互效果的,语法上也很容易理解,看例子吧
//WXML
<view>{{ msg }}</view>
<button bindtap="clickMe">点击我</button> //JS
Page({
clickMe: function() {
this.setData({ msg: "Hello World" })
}
})

  

05-11 11:38