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是目的站列表,命名没 ...
随机推荐
- Windows 10 优化
---恢复内容开始--- 0x00 使开始菜单,任务栏,和操作中心透明 --关闭 右下角开始菜单,选择设置,打开个性化菜单,找到颜色一栏.向下滑至最低端,使开始菜单,任务栏,和操作中心透明选项关闭 0 ...
- 一个可以模拟GET,POST,PUT,DELET请求的HTTP在线工具
一个简陋的HTTP请求工具,UI比较丑陋.0.0,可以用于接口调试. 之前在调试公司的远程接口的时候用的是curl,后来也在网上找到几种Http请求模拟的客户端程序.当时后来发现google app ...
- Java IO、网络编程、NIO、Netty、Hessian、RPC、RMI的学习路线
好久没看Java IO这块的内容,感觉都快忘得差不多了.平成编程也没有设计到太多的Java基础知识,所以这里希望可以抽点时间回顾一下,让艾宾浩斯记忆曲线不要下降的太快. 回顾这个主要还是以总结为主,能 ...
- oracle 累加功能,累加百分比
最近做数据分析,需要用到累加功能,发现强大的oracle还真有,用over(order by field) 例子: 数据表中最后一列就是累加的效果 累加sql: select t.acc_pedal_ ...
- 01 Memcached 安装与介绍
一:Memcached 介绍 ()官网网址:www.mamcached.org () 主要功能是:高性能,分布式的内存对象缓存系统. ()Nosql不仅仅是关系型数据库,显著特点key value ...
- Linux进程间通信(三) - 信号
什么是信号 软中断信号(signal,又简称为信号)用来通知进程发生了异步事件.在软件层次上是对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的.信号是进程间通 ...
- SpringMVC基于代码的配置方式(零配置,无web.xml)
基于配置文件的web项目维护起来可能会更方便,可是有时候我们会有一些特殊的需求,比方防止客户胡乱更改配置,这时候我们须要给配置隐藏到代码中. 1.创建一个动态web项目(无需web.xml) 2.右键 ...
- centos7.0 安装pdo_mysql扩展
1:进入到源码包 /usr/local/php-7.1.6/ext/pdo_mysql 执行/usr/local/php-7.1/bin/phpize 如果报如下错误: Cannot find aut ...
- php header, 允许ajax跨域访问
<?php header('content-type:application:json;charset=utf8'); header('Access-Control-Allow-Origin:* ...
- SpringMVC请求流程
Spring结构图 SpringMVC请求流程图 SpringMVC请求流程图语述: request--->DispatcherServler(中央调度器/前端控制器)---> Handl ...