百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

第2讲 目录结构 & 配置小程序

itomcoil 2025-02-28 16:09 9 浏览

「遇见周大侠(网名:程序猿),长沙奥科领航信息技术公司的资深软件开发工程师。他的软件开发系列课件和项目,凝聚了多年的专业积累与热情。每套课件都包含丰富的案例和深入的知识点解析,每一讲都配备了精心设计的课后作业,旨在为热爱编程的你提供最佳编程实践。是教师备课的得力助手,是学生学习的贴心伴侣,亦是毕业设计的灵感源泉。现在,请搜索微信小程序「奥科领航信息技术 」,让我们一起深入代码的世界,探索无限可能!」


本讲内容

  • 目录结构
  • 配置小程序

一、项目的目录结构

1、主体部分

新建一个小程序项目之后,目录结构如下所示:

红色框所示部分是小程序的主体部分。一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下:

文件

是否必需

作用

app.js

小程序逻辑

app.json

小程序公共配置

app.wxss

小程序公共样式表

2、自定义页面

一个小程序通常需要由N个自定义的页面来承载其功能。

页面是在根目录中的app.json中定义的。在app.json中每追加一个页面的声明,开发工具会自动的在/pages目录中创建一个相同名称的子目录,并在子目录中创建四个相关联的文件(但是,如果在app.json中删除一个页面的声明,则开发工具不会自动删除对应的目录和其下的文件,但目录的图标颜色会有所变化)。

pages元素中声明的第一个页面就是首页!!!

一个小程序的页面由四个文件组成,分别是:

文件类型

是否必需

作用

对比

js

页面逻辑

相当于普通Web程序的JavaScript脚本文件。

但是,不能在js文件中使用DOM、BOM。

wxml

页面结构

相当于普通 Web程序的HTML页面。

但是,里面标签和原生的标签有区别,经过了进一步的封装。

json

页面配置

相当于普通 Web程序的JSON文件

wxss

页面样式表

相当于普通 Web程序的CSS样式表。

CSS3中的样式属性几乎都可以全部用在这里!

注意:

  1. 为了方便开发者减少配置项,描述页面的四个文件必须具有相同的路径与文件名;
  2. 这四种类型的文件经过编译之后不能被直接访问。

二、配置小程序

  1. 全局配置

小程序根目录下的 app.json 文件用来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多tab 等。全局配置会影响到所有的页面!

示例:

{

"pages":[

"pages/index/index",

"pages/logs/logs",

"pages/orders/orders",

"pages/cart/cart"

],

"window":{

"backgroundTextStyle":"light",

"navigationBarBackgroundColor": "#0000ff",

"navigationBarTitleText": "欧柏泰克教务系统",

"navigationBarTextStyle":"white"

},

"style": "v2",

"sitemapLocation": "sitemap.json",

"tabBar": {

"list": [{

"pagePath": "pages/index/index",

"text": "首页"

},{

"pagePath": "pages/logs/logs",

"text": "日志"

},{

"pagePath": "pages/orders/orders",

"text": "我的订单"

},{

"pagePath": "pages/cart/cart",

"text": "购物车"

}]

}

}

在示例代码中,我们改变了顶部导航栏的背景颜色(蓝色)和前景颜色(白色);创建了底部的导航菜单(首页、日志、我的订单、购物车)。为了不会导致编译错误,需要添加订单和购物车的两个页面(pages/orders/orders、pages/cart/cart)。

预览的效果:

  1. 页面配置

每一个小程序页面可以使用同名的 .json 文件来对本页面的窗口表现进行配置,页面中配置项会覆盖 app.json 的 window 中相同的配置项(即页面配置优先于全局配置)。文件内容为一个 JSON 对象,有以下属性:

属性

类型

默认值

描述

navigationBarBackgroundColor

HexColor

#000000

导航栏的背景颜色

navigationBarTextStyle

string

white

导航栏标题的文字颜色

navigationBarTitleText

string


导航栏标题文字内容

backgroundColor

HexColor

#ffffff

窗口的背景色

enablePullDownRefresh

boolean

false

是否开启当前页面下拉刷新

更多的配置项请见:

https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/page.html

示例:首页页面

index.json:

{

"navigationBarBackgroundColor": "#ff0000",

"navigationBarTextStyle": "white",

"navigationBarTitleText": "这是首页",

"backgroundColor": "#ff0000",

"backgroundTextStyle": "light",

"enablePullDownRefresh": true

}

index.wxml:

中华人民共和国

背景不是我们所期望的红色!!!

在这些属性中,特别要指出的是backgroundColor属性。当我们在微信小程序 json 中设置 backgroundColor 时,实际在电脑的模拟器中预览时中根本看不到效果。这是因为 backgroundColor 指的是窗体背景颜色,而不是页面的背景颜色,即窗体下拉刷新或上拉加载时露出的背景。在电脑的模拟器中是看不到这个动作的,所以会让人误以为这个配置是无效的。

如果要设置页面背景颜色,得在wxss 中自定义样式,如下:

/*index.wxss*/

page{

background-color: #ff0000;

color: white;

}

相关推荐

Excel新函数TEXTSPLIT太强大了,轻松搞定数据拆分!

我是【桃大喵学习记】,欢迎大家关注哟~,每天为你分享职场办公软件使用技巧干货!最近我把WPS软件升级到了版本号:12.1.0.15990的最新版本,最版本已经支持文本拆分函数TEXTSPLIT了,并...

Excel超强数据拆分函数TEXTSPLIT,从入门到精通!

我是【桃大喵学习记】,欢迎大家关注哟~,每天为你分享职场办公软件使用技巧干货!今天跟大家分享的是Excel超强数据拆分函数TEXTSPLIT,带你从入门到精通!TEXTSPLIT函数真是太强大了,轻松...

看完就会用的C++17特性总结(c++11常用新特性)

作者:taoklin,腾讯WXG后台开发一、简单特性1.namespace嵌套C++17使我们可以更加简洁使用命名空间:2.std::variant升级版的C语言Union在C++17之前,通...

plsql字符串分割浅谈(plsql字符集设置)

工作之中遇到的小问题,在此抛出问题,并给出解决方法。一方面是为了给自己留下深刻印象,另一方面给遇到相似问题的同学一个解决思路。如若其中有写的不好或者不对的地方也请不加不吝赐教,集思广益,共同进步。遇到...

javascript如何分割字符串(javascript切割字符串)

javascript如何分割字符串在JavaScript中,您可以使用字符串的`split()`方法来将一个字符串分割成一个数组。`split()`方法接收一个参数,这个参数指定了分割字符串的方式。如...

TextSplit函数的使用方法(入门+进阶+高级共八种用法10个公式)

在Excel和WPS新增的几十个函数中,如果按实用性+功能性排名,textsplit排第二,无函数敢排第一。因为它不仅使用简单,而且解决了以前用超复杂公式才能搞定的难题。今天小编用10个公式,让你彻底...

Python字符串split()方法使用技巧

在Python中,字符串操作可谓是基础且关键的技能,而今天咱们要重点攻克的“堡垒”——split()方法,它能将看似浑然一体的字符串,按照我们的需求进行拆分,极大地便利了数据处理与文本解析工作。基本语...

go语言中字符串常用的系统函数(golang 字符串)

最近由于工作比较忙,视频有段时间没有更新了,在这里跟大家说声抱歉了,我尽快抽些时间整理下视频今天就发一篇关于go语言的基础知识吧!我这我工作中用到的一些常用函数,汇总出来分享给大家,希望对...

无规律文本拆分,这些函数你得会(没有分隔符没规律数据拆分)

今天文章来源于表格学员训练营群内答疑,混合文本拆分。其实拆分不难,只要规则明确就好办。就怕规则不清晰,或者规则太多。那真是,Oh,mygod.如上图所示进行拆分,文字表达实在是有点难,所以小熊变身灵...

Python之文本解析:字符串格式化的逆操作?

引言前面的文章中,提到了关于Python中字符串中的相关操作,更多地涉及到了字符串的格式化,有些地方也称为字符串插值操作,本质上,就是把多个字符串拼接在一起,以固定的格式呈现。关于字符串的操作,其实还...

忘记【分列】吧,TEXTSPLIT拆分文本好用100倍

函数TEXTSPLIT的作用是:按分隔符将字符串拆分为行或列。仅ExcelM365版本可用。基本应用将A2单元格内容按逗号拆分。=TEXTSPLIT(A2,",")第二参数设置为逗号...

Excel365版本新函数TEXTSPLIT,专攻文本拆分

Excel中字符串的处理,拆分和合并是比较常见的需求。合并,当前最好用的函数非TEXTJOIN不可。拆分,Office365于2022年3月更新了一个专业函数:TEXTSPLIT语法参数:【...

站长在线Python精讲使用正则表达式的split()方法分割字符串详解

欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中使用正则表达式的split()方法分割字符串详解》。使用正则表达式分割字符串在Python中使用正则表达式的split(...

Java中字符串分割的方法(java字符串切割方法)

技术背景在Java编程中,经常需要对字符串进行分割操作,例如将一个包含多个信息的字符串按照特定的分隔符拆分成多个子字符串。常见的应用场景包括解析CSV文件、处理网络请求参数等。实现步骤1.使用Str...

因为一个函数strtok踩坑,我被老工程师无情嘲笑了

在用C/C++实现字符串切割中,strtok函数经常用到,其主要作用是按照给定的字符集分隔字符串,并返回各子字符串。但是实际上,可不止有strtok(),还有strtok、strtok_s、strto...