小程序开发(一)项目基础知识

  • Post author:
  • Post category:小程序




一、小程序开发(一)项目基础知识



1. 小程序与普通网页开发的区别

  1. 运行环境的不同

    1. 网页运行在浏览器环境中
    2. 小程序运行在微信环境中
  2. API不同

    1. 由于运行环境的不同,所以小程序中,无法调用DOM和BOM的API。
    2. 小程序中可以调用微信环境提供的各种API,例如

      • 地理定位
      • 扫码
      • 支付
  3. 开发模式不同

    • 网页的开发模式:浏览器+代码编辑器
    • 小程序有自己的一套标准开发模式:

      • 申请小程序开发账号
      • 安装小程序开发者工具
      • 创建和配置小程序项目



2. 小程序开发准备工作

  1. 注册小程序开发账号

    1. https://mp.weixin.qq.com/ 选择小程序进行注册
    2. 开发管理-开发设置 路径下获取 AppID(小程序ID)
  2. 安装开发者工具
  3. 创建一个简单的小程序

    1. 新建项目中选择不使用云服务
    2. 选择JS模版
  4. 模拟器查看项目效果-点击编译
  5. 在移动端预览项目效果-点击预览



2.1 开发者工具使用技巧

  1. 快速打开开发者文档 左上【帮助】【开发者文档】中直接打开
  2. 左上【工具】常用【构建npm】
  3. 右侧 【详情】查看【基本信息】、【本地设置】和【项目配置】
  4. 模拟器【机型】建议长选iPhone6/7/8,显示比例改为85%
  5. 底部【页面路径】可切换【页面参数】方便快速定位。
  6. 【调试器】中的箭头可以快速定位页面元素



3. 小程序代码的构成 – 项目结构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传



3.1 了解项目的基本组成结构

  1. **pages **用来存放所有小程序的页面
  2. utils 用来存放工具性质的模块(例如:格式化时间的自定义模块)

  3. app.js

    小程序项目的入口文件

  4. app.json

    小程序项目的全局配置文件
  5. app.wxss 小程序项目的全局样式文件
  6. project.config.json项目的配置文件
  7. sitemap.json用来配置小程序及其页面是否允许被微信索引



3.2 小程序页面的组成部分

官方文档提示:小程序的页面,都放在pages目录中,以单独的文件夹存在

其中,每个页面由4个基本文件组成,它们分别是:

  1. .js文件(页面脚本文件,存放页面的数据、事件处理函数等)
  2. .json文件 (当前页面的配置文件,配置窗口的外观、表现等)
  3. .wxml文件(页面的模版结构文件)
  4. .wxss 文件 (当前页面的样式表文件)

这四个文件最终会被编译成一个文件



3.3 JSON配置文件

小程序项目中有4种json配置文件,分别是:

  1. 项目根目录中的app.json配置文件
  2. 项目根目录中的project.config.json配置文件
  3. 项目根目录中的sitemap.json配置文件

  4. 每个页面文件夹中的.json配置文件



3.3.1 app.json文件

是当前小程序的全局配置,包括小程序的所有页面路径、窗口外观、界面表现、底部tab等。

配置内容demo

{
  "pages":[// 用来记录当前小程序所有页面的路径
    "pages/index/index",
    "pages/logs/logs"
  ],
  "window":{//全局定义小程序所有页面的背景色、文字颜色等
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#fff",//背景色
    "navigationBarTitleText": "Weixin",
    "navigationBarTextStyle":"black"
  },
  "style": "v2",//全局定义小程序组件所使用的样式版本,旧样式版本直接把此节点删除。
  "sitemapLocation": "sitemap.json"//用来指明sitemap.json的存放位置,此时是与app.map平级
}



3.3.2 project.config.json文件

project.config.json 用来记录对小程序开发工具所做的个性化配置


拷贝其他的demo到本地修改为自己的小程序,修改成自己的appid,避免报错

{
  "description": "项目配置文件",
  "packOptions": {
    "ignore": [],
    "include": []
  },
  "setting": {//编译相关的配置,开发工具本地设置中,可视化修改将同步到这里。
      ....
      //sitemap的索引提示默认是开启的如需要关闭sitemap的索引提示需添加
      "checkSiteMap":"false"
  },
  "compileType": "miniprogram",
  "libVersion": "2.19.4",
  "appid": "",//小程序的账号
  "projectname": "miniprogram-92",//项目名称,不等于小程序名称
  "condition": {},
  "editorSetting": {
    "tabIndent": "insertSpaces",
    "tabSize": 2
  }



3.3.3 sitemap.json文件

用来配置小程序页面是否允许微信索引,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索关键字和页面的索引匹配成功的时候,小程序的页面将可能展示在搜索结果中。

{
  "desc": "",
  "rules": [{
  "action": "allow",//disallow
  "page": "*"
  }]
}

sitemap的索引提示默认是开启的如需要关闭sitemap的索引提示需在project.config.json的setting中的配置添加”checkSiteMap”:“false”



3.3.4 页面的 .json 配置文件

小程序中的每一个页面,可以使用 .json文件来对本页面的窗口外观进行配置,页面中的配置会覆盖app.json的window中相同的配置项。

{
    "navigationBarBackgroundColor": "#00b26a",
  	"usingComponents": {}
}



4. 小程序页面



4.1 新增小程序页面

只需要在app.json -> pages中新增页面的存放路径,小程序开发者工具即可帮我们自动创建对应的页面。



4.2 修改项目首页

只需要调整app.json -> pages数组中页面路径的前后顺序,即可修改项目的首页。

小程序会把第一位的页面,当作项目首页进行渲染。



4.3 WXML模版

  • 小程序框架设计的一套标签语言,用来构建小程序页面的结构,类似HTML

  • 和HTML的区别

  1. 标签名称不同
  • HTML(div,span,img,a)
  • WXML(view,text,image,navigator)
  1. 属性节点不同

    • html <a href=""></a> 
      wxml <navigator url=""></navigator>
      
  2. 提供了类似于Vue中的模版语法

    • 数据绑定
    • 列表渲染
    • 条件渲染



4.4 WXSS样式

  • 一套样式语言,用于描述WXML的组件样式,类似于网页开发中的CSS。

wxss与css的区别

  • 新增了rpx尺寸单位

    • CSS中需要手动进行像素单位换算,例如rem
    • WXSS在底层支持新的尺寸单位rpx,在不同大小的屏幕上小程序会自动进行换算。
  • 提供了全局的样式和局部样式

    • 项目根目录中的 app.wxss 会作用于所有小程序页面
    • 局部页面 .wxss 样式仅对当前页面生效
  • wxss仅支持部分CSS选择器

    • .class 和 #id
    • element
    • 并集选择器、后代选择器
    • ::after和 ::before等伪类选择器



5. 小程序代码构成-JS逻辑交互

小程序中的 .js文件

小程序通过.js文件来处理用户的操作。例如:响应用户的点击、获取用户的位置。

小程序中的JS文件分为三大类

  1. app.js:是整个小程序项目的入口文件,通过调用App()函数来启动整个小程序。
  2. 页面的.js文件:是页面的入口文件,通过调用Page()函数来创建并运行页面。
  3. 普通的 .js文件:是普通的功能模块文件,用来封装公共的函数或属性供页面使用。



6. 小程序的宿主环境

宿主环境指的是程序所必须的依赖环境。微信是小程序的宿主环境。小程序借助宿主环境提供的能力,可以完成许多普通网页无法完成的功能,例如:微信扫码、微信支付、微信登录、地理定位、ETC等。

小程序宿主环境包含的内容

  1. 通信模型
  2. 运行机制
  3. 组件
  4. API



5.1 通信模型

小程序中通信的主体是渲染层和逻辑层,其中:

  1. WXML模版和WXSS样式工作在渲染层。
  2. JS脚本工作在逻辑层。

小程序中的通信模型分为两部分

  • 渲染层和逻辑层之间的通信

    • 由微信客户端进行转发
  • 逻辑层和第三方服务器之间的通信

    • 由微信客户端进行转发



5.2 运行机制

小程序启动的过程

  1. 把小程序的代码包下载到本地
  2. 解析app.json全局配置文件
  3. 执行app.js小程序入口文件,调用App()创建小程序实例
  4. 渲染小程序首页
  5. 小程序启动完成



5.3 页面渲染过程

  1. 加载解析页面的.json配置文件
  2. 加载页面的 .wxml模版和 .wxss样式
  3. 执行页面的 .js文件,调用Page()创建页面实例
  4. 页面渲染完成

第三方服务器之间的通信

  • 由微信客户端进行转发



5.2 运行机制

小程序启动的过程

  1. 把小程序的代码包下载到本地
  2. 解析app.json全局配置文件
  3. 执行app.js小程序入口文件,调用App()创建小程序实例
  4. 渲染小程序首页
  5. 小程序启动完成



5.3 页面渲染过程

  1. 加载解析页面的.json配置文件
  2. 加载页面的 .wxml模版和 .wxss样式
  3. 执行页面的 .js文件,调用Page()创建页面实例
  4. 页面渲染完成



版权声明:本文为gao1213977085原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。