当前位置: 首页 > Web前端 > HTML

微信小程序教学第2章:小程序中级实践课预备篇-项目结构设计|基于最新1.0版开发者工具

时间:2023-04-03 00:10:31 HTML

iKcamp官网:http://www.ikcamp.com访问官网阅读全部免费分享课程:《iKcamp出品|全网最新|微信小程序|基于最新版1.0开发者工具之初中级培训教程分享》。包括:文章、视频、源码第2章:小程序中级实践课预备部分 项目结构设计教学视频地址:https://v.qq.com/x/page/q0554...beforeyoustart请将ch2-1分支中的code/目录导入到微信开发工具中在前面的章节中,我们已经完成了小程序的准备工作,熟悉了小程序的基本配置。在下一章中,我们将开始一个真正的项目。你兴奋吗?其实不难发现,小程序的门槛是比较低的。基本掌握前端开发基础的同学,可以不费吹灰之力完成一个简单的小程序。Step1.基本结构经过前面几章的学习,我们已经知道了小程序的基本配置。话不多说,先搭建基本的项目结构,先搭建框架,再丰富细节。在/codes/ch2-1的基础上,我们创建了以下文件:├──lib/├──styles/├──base.wxss├──pages/├──app.js├──app.json├──app.wxss至此,最基本的框架搭建完毕。app.js是小程序的主要逻辑文件,app.json是小程序的全局配置文件,app.wxss当然是小程序的全局样式文件。后面会用到pages来存放小程序的页面。app.jslethandler={//小程序初始化onLaunch(){console.log('appinit...');},//小程序全局数据globalData:{user:{name:'',avator:''}}};App(handler);app.js包含了小程序的一些生命周期函数。项目一开始,我们先从简单的开始,只用到onLaunch这个生命周期函数。当小程序初始化时,会触发onLaunch(全局只触发一次)。globalData可以用来存放小程序的全局数据。我们可以通过页面上的getApp()方法获取小程序的实例,通过小程序实例可以访问到全局对象,后面会详细说明。app.json{"pages":[],"window":{"navigationBarBackgroundColor":"#fff","navigationBarTextStyle":"black","navigationBarTitleText":"Demo","backgroundColor":"#f8f8f8","backgroundTextStyle":"light","enablePullDownRefresh":false},"networkTimeout":{"request":10000,"connectSocket":10000,"uploadFile":10000,"downloadFile":10000},"debug":true}小程序主要配置文件的基本结构已经写好了。当然不是所有配置文件,可以参考小程序配置API。官方文档已经给出了非常详细的解释,这里不再赘述。提示:debug为true,在debug的时候可以起到一点帮助,但是review的时候建议改成false。app.wxss.green{color:#26b961;}page{height:100%;background-color:#f8f8f8;}app.wxss中定义的样式是全局样式,作用于每个页面。页面的wxss文件中定义的样式是本地样式,只作用于对应的页面,覆盖app.wxss中相同的选择器。Step2.添加页面接下来,我们需要为小程序添加页面。小程序的页面存储在页面文件夹下。我们不断完善目录结构├──lib/├──styles/│├──base.wxss├──pages/│├──detail/│├──index/├──app.js├──应用程序。json├──app.wxss首先我们在pages目录下添加detail和index两个文件夹,其中detail代表小程序的文章详情页,index代表小程序的首页。只有文件夹是不够的。小程序中,每个页面有四个文件[name].js页面的主要逻辑文件[name].json页面的配置文件[name].wxml页面内容和前面一个html文件类似[name].wxss页面的样式文件,类似于前面的css文件提示:值得注意的是每个页面中的四个文件必须保持相同的名称。继续完善文件目录├──lib/├──styles/│├──base.wxss├──pages/│├──detail/│├──detail.js││├──detail.json││├──detail.wxml│├──detail.wxss│├──index/│├──index.js│├──index.json│├──index.wxml│├──index.wxss├──app.js├──app.json├──app.wxssindex.js和前面的app.js类似,小程序的页面也有对应的逻辑文件。比如index.js代表项目中首页的逻辑(小程序的首页不一定要是index,其他名字也可以)。Page({data:{text:"Thisispagedata."},onLoad:function(options){console.log('小程序加载完毕')//生命周期函数--监控页面加载},onReady:function(){//生命周期函数--监听页面第一次渲染完成},onShow:function(){//生命周期函数--监听页面显示},onReachBottom:function(){//拉取页面底部事件处理函数},//其他一些业务函数hello:function(){this.setData({text:'helloworld'})}})Page()函数用于注册页面。接受一个对象参数,指定页面的初始数据、生命周期函数、事件处理程序等。index.json每个小程序页面也可以使用.json文件配置本页面的窗口性能。页面的配置比app.json的全局配置要简单的多。它只是在app.json中设置了window配置项的内容,页面中的配置项会覆盖app.json的window中的相同配置项。页面的.json只能设置window相关的配置项来决定本页面的window性能,所以不用写windowkey。由于本项目比较简单,可以先使用全局配置。暂时可以放一个空的json对象{}index.wxml.wxml是小程序的页面文件。WXML(WeiXinMarkupLanguage)是由该框架设计的一套标签语言。结合基础组件和事件系统,可以构建页面结构。这是首页index.wxssWXSS(WeiXinStyleSheets)是一种用于描述WXML组件样式的样式语言。这里的样式和前面css的语法基本一致,可以覆盖app.wxss中定义的样式。.home{颜色:红色;font-size:28rpx;}相同的详情页面会有相似的结构和代码。完成以上基本页面后,细心的同学可能还会发现,在上面的app.json配置中,页面还是空的,接下来会添加配置。"pages":["pages/index/index","pages/detail/detail"]pages是小程序的路由配置。这里可以看到小程序有两条路由,首页和详情页。至此我们完成了最简单的页面的配置。到此为止,我们已经可以轻松运行一个简单的微信小程序了。虽然只是最基本的骨架,但我们后续会继续完善。Step3.一些非必要的目录以上介绍了小程序必要的工程结构。其实在实际项目中,为了方便开发,我们一般会增加一些额外的目录,比如:├──lib/├──styles/│├──base.wxss├──pages/│├──detail/││├──detail.js││├──detail.json││├──detail.wxml│├──细节。wxss│├──index/│├──index.js│├──index.json│├──index.wxml│├──index.wxss├──app.js├──app.json├──app.wxsslib文件夹和styles文件夹。该文件夹不是小程序的必要配置。前者用来存放项目中用到的其他库,后者可以存放一些基本的样式文件。当然你也可以根据自己的需要添加一些其他的文件夹,方便开发。这里我们放置了一些文件,lib包含了实现Promise的库和将html解析成appletWXML的库。常用的重置样式放在样式中。下一节讲一下这个实际项目中常用的一些方法,比如打印日志功能,网络请求环境等。上一篇-iKcamp出品|微信小程序|小测(视频)+发布流程|基于上最新1.0版开发者工具初中级教程分享下期更新内容:小程序初级入门教程-第二章:小程序中级实战教程:准备-提取util公共方法iKcamp原创新书《移动Web前端高效开发实战》已上亚马逊、京东、当当网有售。相关文章:听说你2017年想写前端?前端开发者指南(2017)翻译连载|《你不知道的JS》同伴|JavaScript轻量级函数式编程翻译|KeyCSSandWebpack:Anautomatedsolutiontoreducerendering-blockingCSSiKcamp最新活动报名地址:http://www.huodongxing.com/ev...