设为首页 加入收藏

TOP

微信小程序-01-项目组成文件介绍(入门篇)(一)
2019-08-30 00:43:01 】 浏览:78
Tags:程序 -01- 项目 组成 文件 介绍 入门

自古开篇先说两句,写这些笔记不是学习用的,主要是后续分享一些遇到的坑,碰到过什么样的问题,怎么去解决,如果你不是一个很耐心无看文章的人,建议去 网易云课堂找一些课程,跟着别人的脚步或许会更有动力,我的笔记也是从哪里学习,记一些小笔记,我觉得大学里做这件事是最合适的了,当然最重要的是有没有兴趣,如果没有兴趣,就别把它当场一个学习的任务,找一项真正自己感兴趣的,去深度了解,做到很精才是真正有意义的事

微信小程序-01-项目组成文件介绍

JSON 配置文件

  • 我们可以看到在项目的根目录有一个 app.json 和 project.config.json,此外在 pages/logs 目录下还有一个 logs.json
  • 我们依次来说明一下它们的用途。

小程序配置 app.json

  • app.json 是当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等。新建的项目里边的 app.json 配置内容如下:
{
  //页面路径
  "pages":[
    "pages/index/index",
    "pages/logs/logs"
  ],
  //界面表现
  "window":{
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "WeChat",
    "navigationBarTextStyle":"black"
  }
}

我们简单说一下这个配置各个项的含义:

  • pages字段 —— 用于描述当前小程序所有页面路径,这是为了让微信客户端知道当前你的小程序页面定义在哪个目录
  • window字段 —— 定义小程序所有页面的顶部背景颜色,文字颜色定义等。
    其他配置项细节可以参考文档 小程序的配置 app.json

工具配置 project.config.json

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

页面配置 page.json

  • 这里的 page.json 其实用来表示 pages/logs 目录下的 logs.json 这类和小程序页面相关的配置
  • 如果你整个小程序的风格是蓝色调,那么你可以在 app.json 里边声明顶部颜色是蓝色即可。实际情况可能不是这样,可能你小程序里边的每个页面都有不一样的色调来区分不同功能模块,因此我们提供了 page.json,让开发者可以独立定义每个页面的一些属性,例如刚刚说的顶部颜色、是否允许下拉刷新等等
  • 其他配置项细节可以参考文档 页面配置 。

WXML 模板

  • 从事过网页编程的人知道,网页编程采用的是 HTML + CSS + JS 这样的组合,其中 HTML 是用来描述当前这个页面的结构,CSS 用来描述页面的样子,JS 通常是用来处理这个页面和用户的交互
  • 同样道理,在小程序中也有同样的角色,其中 WXML 充当的就是类似 HTML 的角色。打开 pages/index/index.wxml,你会看到以下的内容:
//view 想象成 div
<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>
  • 和 HTML 非常相似,WXML 由标签、属性等等构成。但是也有很多不一样的地方,我们来一一阐述一下:
  • 标签名字有点不一样
  • 往往写 HTML 的时候,经常会用到的标签是 div, p, span,开发者在写一个页面的时候可以根据这些基础的标签组合出不一样的组件,例如日历、弹窗等等。换个思路,既然大家都需要这些组件,为什么我们不能把这些常用的组件包装起来,大大提高我们的开发效率
  • 从上边的例子可以看到,小程序的 WXML 用的标签是 view, button, text 等等,这些标签就是小程序给开发者包装好的基本能力,我们还提供了地图、视频、音频等等组件能力
  • 多了一些 wx:if 这样的属性以及 {{ }} 这样的表达式

MVVM 的开发模式

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

如果你需要把一个 Hello World 的字符串显示在界面上

  • WXML 是这么写 :
 //写一个变量占位
 <text>{{msg}}</text>
  • JS 只需要管理状态即可:
this.setDa
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇微信小程序-06-详解介绍.js 逻辑.. 下一篇小程序的全栈开发新时代

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目