微信小程序入门一~结构介绍

一、结构介绍:
☆pages: 用来存放所有小程序的页面
  .js: 页面的脚本文件,存放页面的数据、事件处理函数等
  .json: 当前页面的配置文件,配置窗口的外观、表现等
  .wxml: 页面的模板结构文件
  .wxss: 当前页面的样式表文件
utils:用来存放工具性质的模块(如:格式化时间的自定义模块)
☆app.js: 小程序项目的入口文件
☆app.json: 小程序项目的全局配置文件,包括了小程序的所有页面路径、窗口外观、界面表现、底部tab等
app.wxss: 小程序项目的全局样式文件
project.config.json: 项目的配置文件,用来记录对小程序开发工具所做的个性化配置
sitemap.json: 用来配置小程序及其页面是否允许被微信索引,微信现已开发小程序内搜索,效果类似于PC网页的SEO (当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索关键字和页面的索引匹配成功的时候,小程序的页面将可能展示在搜索结果中。)

json配置文件:
  app.json 
     pages:用来记录当前小程序所有页面的路径
     window: 全局定义小程序所有页面的背景色、文字颜色等
     style:全局定义小程序组件所使用的的样式版本
     sitemapLocation: 用来指明sitemap.json的位置
  project.config.json
    setting: 保存了编译相关的配置
    projectname:保存的是项目名称
    appid: 小程序的账号id
  sitemap.json 
    SEO
  pages/.json
    使用.json文件来对本页面的窗口外观进行配置,页面中的配置项会覆盖app.json的window中相同的配置项。

二、WXML模板
1.什么是WXML 
  WXML是小程序框架设计的一套标签语言,用来构建小程序页面的结果,其作用类似于网页开发中的HTML。
2. WXML和HTML区别
  a. 标签名称不同
    HTML (div, span, img, a)
    WXML (view, text, image, navigator)
  b. 属性节点不同
    超链接
   
  c. 提供了类似于Vue中的模板语法
    数据绑定
    列表渲染
    条件渲染

三、WXSS样式
1. 什么是WXSS
  WXSS是一套样式语言,用于描述WXML的组件样式,类似于网页开发中的CSS。
2. WXSS和CSS的区别
  a. 新增了rpx尺寸单位
    CSS中需要手动进行像素单位换算,如: rem
    WXSS在底层支持新的尺寸单位rpx,在不同大小的屏幕上小程序会自动进行换算
  b. 提供了全局的样式和局部样式
    项目根目录中的app.wxss会作用于所有小程序页面
    局部页面的.wxss样式仅对当前页面生效
  c. WXSS仅支持部分CSS选择器 
    .class 和 #id
    element
    并集选择器、后代选择器
    ::after和::before等伪类选择器

四、JS逻辑交互
1. .json文件
  在小程序中,通过.js文件来处理用户的操作。如: 响应用户的点击、获取用户的位置等。
2. .js文件的分类
  a. app.js
    是整个小程序项目的入口文件,通过调用App()函数来启动整个小程序
  b. 页面的.js文件
    是页面的入口文件,通过调用Page()函数来创建并运行页面
  c. 普通的.js文件
    是普通的功能模块文件,用来封装公共的函数或属性供页面使用

五、小程序宿主环境
1. 通信模型
  a. 通信主体(小程序中通信的主体是渲染层和逻辑层)
    WXML模板和WXSS样式工作在渲染层
    JS脚本工作在逻辑层
  b. 通信模型
    渲染层和逻辑层之间的通信 -- 由微信客户端进行转发
    逻辑层和第三方服务器直接的通信 -- 有微信客户端进行转发
2. 运行机制
  a. 启动过程
    i: 把小程序的代码包下载到本地
    ii: 解析app.json全局配置文件
    iii: 执行app.js小程序入口文件,调用App()创建小程序实例
    iV: 渲染小程序首页
    v: 小程序启动完成
  b. 页面渲染过程
    i: 加载解析页面的.json配置文件
    ii: 加载页面的.wxml模板和.wxss样式
    iii: 执行页面的.js文件,调用Page()创建页面实例
    iv: 页面渲染完成
3. 组件
  ☆1. 视图容器
    a. view
      普通视图区域
      类似于HTML中的div,是一个块级元素
      常用来实现页面的布局效果
    b. scroll-view
      可滚动的视图区域
      常用来实现滚动列表效果
    c. swiper和swiper-item
      轮播图容器组件和轮播图item组件
  ☆2. 基础内容
    a. text
      文本组件
      类似于HTML中的span标签,是一个行内元素
    b. rich-text
      富文本组件
      支持把HTML字符串渲染为WXML结构
    c. button
      按钮组件
      功能比HTML中的button按钮丰富
      通过open-type属性key调用微信提供的各种功能(客服、转发、获取用户授权、获取用户信息等)
    d. image
      图片组件
      image组件默认宽度约300px、高度约240px
    f. navigator
      页面导航组件
      类似于HTML中的a链接
  ☆3. 表单组件
  ☆4. 导航组件
  5. 媒体组件
  6. map地图组件
  7. canvas画布组件
  8. 开发能力
  9. 无障碍访问
4. API
  a. 事件监听API
    特点: 以on开头,用来监听某些事件的触发
    如: wx.onWindowResize(function callback)监听窗口尺寸变化的事件
  b. 同步API
    特点1:以Sync结尾的API都是同步API
    特点2:同步API的执行结果,可以通过函数返回值直接获取,如果执行出错会抛出异常
    如:wx.setStorageSync('key','value')向本地存储中写入内容
  c. 异步API
    特点: 类似于JQuery中的$.ajax(options)函数,需要通过success、fail、complete接收调用的结果
    如:wx.request()发起网络数据请求,通过success回调函数接收数据

六、协同工作
  管理员
  开发者
  数据分析者
  运营者
  


 

你可能感兴趣的:(小程序,微信小程序)