2.微信小程序-B站:需要先知道这些
文件结构
小程序包含一个描述整体程序的 app 和多个描述各自页面的 page。一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下:
文件 | 必须 | 作用 |
---|---|---|
app.js | 是 | 小程序逻辑 |
app.json | 是 | 小程序公共配置 |
app.wxss | 否 | 小程序公共样式表 |
一个小程序页面由四个文件组成,分别是:
文件 | 必须 | 作用 |
---|---|---|
页面名.js | 是 | 页面逻辑 |
页面名.wxml | 是 | 界面布局文件 |
页面名.wxss | 否 | 页面样式表 |
页面名.json | 否 | 页面配置 |
注意:这四个文件的页面名必须具有相同的路径与文件名。
(小安娜:js & json我认识,wxml、wxss是什么鬼,地球上从未见过的格式!)
配置
我们使用app.json
文件来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。以下是一个包含了所有配置选项的简单配置app.json
:
(小安娜:app.json,我可以改成abc.json不?)
{
"pages":[
"pages/index/index"
],
"window":{
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "哔哩哔哩弹幕视频网",
"navigationBarTextStyle": "black",
"backgroundColor": "#f4f4f4"
},
"debug": true
}
(小安娜:#fff是什么意思?我只知道FFF团!),#fff代表HexColor十六进制颜色值。(小安娜:我不管这些,我只想知道这个值是怎么来的?),小安娜你是刁难我的吧,这个是设计上的问题,开发前可让设计师标注下界面的颜色值,或者看到喜欢的颜色也可用屏幕颜色拾取工具获取。
app.json 配置项列表
文件 | 类型 | 必须 | 作用 |
---|---|---|---|
pages | String Array | 是 | 设置页面路径集合 |
window | Object | 否 | 设置默认页面的窗口表现 |
tabBar | Object | 否 | 设置底部 tab 的表现 |
networkTimeout | Object | 否 | 设置网络超时时间 |
debug | Boolean | 否 | 设置是否开启 debug 模式 |
pages
接受一个数组,每一项都是字符串,来指定小程序由哪些页面组成。每一项代表对应页面的【路径+文件名】,数组的第一项代表小程序的初始页面。小程序中新增/减少页面,都需要对 pages 数组进行修改。
文件名不需要写后缀,框架会自动寻找路径.json
、.js
、.wxml
、.wxss
四个文件进行整合。
(小安娜:不是很明白这段话,什么鬼自动寻找路径,四个文件进行整合)
如开发目录为:
- pages/
- |-- pages/index/index.wxml
- |-- pages/index/index.js
- |-- pages/index/index.wxss
- app.js
- app.json
- app.wxss
则,我们只需要在 app.json
中写:
(pages/index/index不需要添加后缀)
{
"pages":[
"pages/index/index"
]
}
window
用于设置小程序的状态栏、导航条、标题、窗口背景色。
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
navigationBarBackgroundColor | HexColor | 是 | 导航栏背景颜色,如”#000000″ |
navigationBarTextStyle | String | #000000 | 导航栏标题颜色,仅支持 black/white |
navigationBarTitleText | String | white | 导航栏标题文字内容 |
backgroundColor | HexColor | #ffffff | 窗口的背景色 |
backgroundTextStyle | String | dark | 下拉背景字体、loading 图的样式,仅支持 dark/light |
enablePullDownRefresh | Boolean | false | 是否开启下拉刷新 |
如 app.json
:
{
"window":{
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "哔哩哔哩弹幕视频网",
"navigationBarTextStyle": "black",
"backgroundColor": "#f4f4f4"
}
}
tabBar
由于本项目中未用到tabBar就不耽误大家的时间了,如需要了解见官方文档:https://mp.weixin.qq.com/debug/wxadoc/dev/framework/config.html#tabbar
(小安娜:tabBar是客户端窗口底部的tab栏可以切换页面,可配置最少2个、最多5个 tab,不要感谢我,记得我是雷锋就行),噗~,这都行!
networkTimeout
可以设置各种网络请求的超时时间。
属性 | 类型 | 必填 | 说明 |
---|---|---|---|
request | Number | 否 | wx.request 的超时时间,单位毫秒 |
connectSocket | Number | 否 | wx.connectSocket 的超时时间,单位毫秒 |
uploadFile | Number | 否 | wx.uploadFile 的超时时间,单位毫秒 |
downloadFile | Number | 否 | wx.downloadFile 的超时时间,单位毫秒 |
(小安娜:wx.request
、wx.connectSocket
、wx.uploadFile
、wx.downloadFile
这些又是什么?),wx.request:发起网络请求,wx.connectSocket:创建 WebSocket 连接,wx.uploadFile:上传文件,wx.downloadFile:下载文件,这些API先简单有个印象,文章会陆续用上详细介绍。
debug
可以在开发者工具中开启 debug 模式,在开发者工具的控制台面板(小安娜:控制台面板在哪?),调试信息以 info 的形式给出,其信息有Page的注册,页面路由,数据更新,事件触发 。 可以帮助开发者快速定位一些常见的问题。
(小安娜:你有没有debug模式啊,让我开启就能知道你所有的秘密,微信支付、支付宝、银行卡密码…嘻嘻坏笑~)
所以最终app.json是这样的
{
"pages":[
"pages/index/index"
],
"window":{
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "哔哩哔哩弹幕视频网",
"navigationBarTextStyle": "black",
"backgroundColor": "#f4f4f4"
},
"debug": true
}
小安娜有问题
app.json我可以随便改成abc.json吗?
杰尔夫君:不可以,app.js
、app.json
、app.wxss
微信小程序会读取这些文件,并生成小程序实例,任何一个文件名都不可以改动。
wxml、wxss文件格式是什么?
杰尔夫君:WXML(WeiXin Markup Language)是微信框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。WXSS(WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式,与CSS类似,也具有CSS大部分特性。这2个文件具体会在下一篇文章详细讲解。
2.微信小程序-B站:需要先知道这些的更多相关文章
- 1.微信小程序-B站:前言准备
前言 <微信小程序开发-B站>是以bilibili移动端网站为基础开发微信小程序版本,笔者喜欢的学习是愉快.轻松并能学到实战的东西,不知各位观友有没有一样的经历,就是一有问题不是先去Goo ...
- 4.微信小程序-B站:先把首页造出来
(小安娜:失踪人口已上线,大家快来喷喷喷他!),sorry++,最近身边发生太多事情,导致这最关键的实战开篇都未写,(小安娜-分身1:懒就是懒,不负责任,我之前学的都忘了),(小安娜-分身2:上一篇双 ...
- 3.微信小程序-B站:wxml和wxss文件
WXML WXML(WeiXin Markup Language)是微信的一套标签语言,结合基础组件.事件系统,可以构建出页面的结构. (小安娜:好像很厉害的样子,那基础组件.事件系统是什么?感觉更厉 ...
- 微信小程序-B站:wxml和wxss文件
WXML WXML(WeiXin Markup Language)是微信的一套标签语言,结合基础组件.事件系统,可以构建出页面的结构. (小安娜:好像很厉害的样子,那基础组件.事件系统是什么?感觉更厉 ...
- 建站集成软件包 XAMPP搭建后台系统与微信小程序开发
下载安装XAMPP软件,运行Apache和MySQL 查看项目文件放在哪个位置可以正常运行 然后访问localhost即可 下载weiphp官网的weiapp(专为微信小程序开发使用)放在htdocs ...
- 张小龙宣布微信小程序1月9日发布,并回答了大家最关心的8个问题
2016 年 12 月 28 日,张小龙在微信公开课 PRO 版的会场上,宣布了微信小程序的正式发布时间. 微信小程序将于 2017 年 1 月 9 号正式上线. 同时他解释称,小程序就像PC时代的网 ...
- 微信小程序开发工具测评
1月9日微信小程序正式上线.很多企业都希望能在这个.但是在技术开发的问题上,却不知道该如何下手.经过一些程序员不辞辛苦连夜测试,终于从十余款工具呕心沥血筛选出四款比较靠谱实用的微信小程序开发工具.接下 ...
- 微信小程序(微信应用号)开发ide安装解决方法
这两天整个技术圈都炸锅了,微信小程序(微信应用号)发布内测,首批200家收到邀请,但是没受邀请的同学,也不用担心,下面介绍一下解决方法. 首先需要下载ide,昨天只需要下载0.9版本的编辑器并替换文件 ...
- 微信小程序火车票查询 直取12306数据
最终效果图: 样式丑哭了,我毕竟不是前端,宗旨就是练练手,体验微信小程序的开发,以最直接的方式获取12306数据查询火车票. 目录结构: search1是出发站列表,search2是目的站列表,命名没 ...
随机推荐
- Atitit.常见的4gl 第四代编程语言 与 dsl
Atitit.常见的4gl 第四代编程语言 与 dsl 1. 4gl dsl发展历史1 2. 4gl dsl的特点1 3. 常见的4gl 第四代编程语言 dsl2 4. 未来趋势与标准2 4.1.1 ...
- Git--Bug解决篇
Git--公司bug解决篇 作为程序员,我们时常遇到这样的场景,公司的产品上线了,程序员们美滋滋的开始开发新功能希望得到更多的流量.这时候,公司上线的产品发生了很严重的bug,可是我们已经在这个bug ...
- Active Directory的基本概念
前言 本文是面对准备加入Active Directory编程的初学者的一份文章,主要是讲解Active Directory(活动目录)的一些概念和相关知识.这篇文章本来是不想写下来的,因为概念性内容的 ...
- 机器学习14—SVD学习笔记
test14.py #-*- coding:utf-8 import sys sys.path.append("svdRec.py") import svdRec from num ...
- Nginx 配置指令的执行顺序
在一个 location 中使用 content 阶段指令时,通常情况下就是对应的 Nginx 模块注册该 location 中的“内容处理程序”.那么当一个 location 中未使用任何 cont ...
- 【Python + Mysql】之用pymysql库连接Mysql数据库并进行增删改查操作
用pip下载pymysql并引用 具体请参考文章: <Python之MySQL数据库增删改查操作> <python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删 ...
- 走进Struts2(五)— 值栈和OGNL
值栈 1.值栈是什么? 简单说:就是相应每个请求对象的轻量级的内存数据中心. Struts2引入值栈最大的优点就是:在大多数情况下,用户根本无须关心值栈,无论它在哪里,不用管它里面有什么,仅仅须要去获 ...
- 四边形不等式优化DP——石子合并问题 学习笔记
好方啊马上就要区域赛了连DP都不会QAQ 毛子青<动态规划算法的优化技巧>论文里面提到了一类问题:石子合并. n堆石子.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合并成新的 ...
- poj3292
Semi-prime H-numbers Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8677 Accepted: 3 ...
- 9.接口BeanPostProcessor
package org.springframework.beans.factory.config; import org.springframework.beans.BeansException; p ...