微信开发者工具最新版集成公众号调试功能,支持无AppID开发及小程序架构解析

2024-12-23
来源:网络整理

微信开发了一款专门针对小程序的IDE,叫做微信开发者工具

最新版本的微信开发者工具还集成了微信公众号的调试和开发工作,让您改变开发模式。

如果选择无,则可以不使用它进行开发,但无法预览;

2. 基本架构和配置文件

1. 小程序架构

主要由两部分组成,主体部分(app)和各个页面(page)。

与很多框架类似,主体部分主要用于核心配置,各个页面主要用于不同的业务场景。

app是一个小程序的框架。支持,逻辑层的调用,数据的解析,wxss,wxml;

页面,主要是业务层,用于实现界面操作功能,是程序员使用频率最高的部分。

1.1、主体部分主要由3个文件组成

这三个应用程序文件是 app.js、app.json 和 app.wxss。

app.js 文件是一个处理一些通用或全局逻辑的脚本文件。例如,这里定义全局变量来处理登录逻辑、指定主页等。

app.json文件是小程序的整体配置文件。我们必须在这个文件中配置小程序由哪些页面组成。我们还可以在这个文件中配置整个小程序统一的窗口背景色、导航栏样式以及默认标题。但必须注意的是,不能向该文件添加任何注释。

app.wxss文件是整个小程序的通用样式表。我们可以直接在小程序子页面组件的属性上使用app.wxss中声明的样式规则。换句话说,该文件中定义的样式可以在任何其他子页面中使用。这也是为了代码的简洁和整体风格的统一。

1.2、页面由4个文件组成

小程序所有显示的页面都必须以子文件夹的形式存放在该文件夹中,包括主页。项目中会显示多少个页面,文件夹下会创建多少个子文件夹。每个页面的子文件夹必须包含以下四个文件:*.js、*.wxml、*.wxss 和*.json(* 代表文件名)。这四个文件的文件名必须与子文件夹的名称相同。

*.js文件是当前页面的脚本文件,也是业务逻辑的处理文件。当前页面与后端服务器接口的所有交互,以及请求数据的逻辑都在这个文件中完成。它是一个核心文件,必须创建。

*.wxml 文件是构建当前页面元素的文件。负责构建当前页面的结构和布局,相当于Web开发中的*.html文件。该文件存放了一些布局代码如div span form等,是必须创建的。

*.wxss文件是当前页面的样式文件。负责调整当前页面的样式、元素之间的间距、字体大小、字体颜色、背景图片等。相当于Web开发中的css文件,在需要时创建。

*.json文件是当前页面的配置文件。配置当前页面的窗口背景颜色、导航栏样式、默认标题等。

1)app.js:小程序逻辑,初始化APP

2)app.json:小程序配置,如导航、窗口、页面http请求跳转等。

3)app.wxss:公共样式配置

主要配置完成后,就开发相应的业务,这是开发者操作最频繁的页面。小程序页面设计基本按照MVC结构构建。

1)js:页面逻辑,相当于控制层(C);还包括部分数据(M)

2)wxml:页面结构展示,相当于视图层(五)

3)wxss:页面样式表,纯前端,用于辅助wxml显示

4)json:页面配置,配置页面显示的一些数据,作为部分模型(M)

应用程序.js

用于注册一个小程序。当小程序启动时调用,并创建小程序直到它被销毁。它存在于小程序的整个生命周期中。显然它是单例和全局的。所以,

1)在app.js中只能注册一次。

2)可以在代码中任意位置通过()获取这个独特的小程序单例,

例如 var app = ();

App()的参数是{}类型,指定小程序的生命周期函数。

功能

监视小程序初始化。

小程序初始化完成时会触发(全局只触发一次)。

功能

监视小程序的显示。

当小程序启动或从后台显示到前台时会触发。

功能

监控小程序被隐藏。

当小程序从前台进入后台时会触发。

所谓前后端的定义类似于手机上的app。例如,当您不使用微信时,您进入后台。

应用程序.json

接受一个数组,每一项是一个字符串,用于指定小程序由哪些页面组成

“”:[

“//”,

“//”,

“//”

],

用于设置小程序的状态栏、导航栏、标题、窗口背景颜色。

“”:{

“”:“”,

“”:“#”,

"xt": "名称计算",

“乐”:“#”

},

通过配置项指定标签栏的性能以及标签切换时显示的相应页面。

微信开发者工具开发小程序_微信小程序开发工具中文_微信开发工具使用指南

配置阵列时,您只能配置最少 2 个、最多 5 个选项卡。选项卡按数组顺序排序。

“”:{

“”:“#”,

“”:“#”,

“”:“”,

“”:“#fff”,

“列表”: [

“”:“//”,

"text": "名称计算",

"": "/ico1.png",

"": "/.png"

},

“”:“//”,

"text": "计算历史",

"": "/ico2.png",

"": "/.png"

},

您可以设置各种网络请求的超时时间。

“”:{

“”:

三视图预渲染

组件、小程序开发者文档

弹性-:行

弹性-:

四种数据绑定

2.1 数据绑定

{{}}

数据:{

:',!'

2.2 事件(小程序不能操作DOM)

{{}}

:(){

.log("按钮被点击了~")

2.3 动态修改内容(对于数据修改只能使用()

{{}}

{{文本}}

数据:{

文本:“这是文本”

:(){

.log("按钮被点击了~")

this.({text:"这是新内容~"})

2.4 渲染标签

{{text}}

或者

{{}}

{{text}}

data:{

         show:false

}

动态改变这个值

btnClick:function(){

            var isShow = this.data.show;

            console.log( “isShow:”+isShow)

this.setData({text:“这是改变后的内容…”,show:!isShow})

}

{{text}}1

{{text}}2

2.4 循环

{{}}-{{物品}}

data:{

         news: [‘aaa’,‘bbb’,‘ccc’]

}

自己定义

{{ix}}-{{}}

动态修改数组的值

数据:{

         news: [‘aaa’,‘bbb’,‘ccc’]

btnClick:function(){

            var newsdata = this.data.news;

            newsdata.shift()

this.setData({news:newsdata})

}

模板

1、比如头部

.html

这是头

介绍

相当于复制了全部内容

2.例如脚

脚.html

这是底部1

这是底部2

介绍

微信小程序开发工具中文_微信开发者工具开发小程序_微信开发工具使用指南

相当于引入部分模块内容

五个生命周期

用户第一次打开小程序时触发(全局仅触发一次)。

小程序初始化完成后,触发onShow方法,监听小程序显示。

小程序从前台进入后台,触发 onHide方法。

小程序从后台进入前台显示,触发 onShow方法。

小程序后台运行一定时间,或系统资源占用过高,会被销毁。

示例代码:

App({

 onLaunch:function(){

    // Do something initial when launch.

  },

 onShow:function(){

     // Do something when show.

  },

 onHide:function(){

     // Do something when hide.

  },

 onError:function(msg){

   console.log(msg)

  },

 globalData:'I am global data'

})

 

小程序提供了()函数,可以获取小程序实例。

// other.js

varappInstance = getApp()

console.log(appInstance.globalData)// I am global data

总结:

onLoad: 页面加载。 1)一个页面只会调用一次。 2)参数可以获取wx.navigateTo和wx.redirectTo及中的 query。

onShow: 页面显示 1)每次打开页面都会调用一次。

onReady: 页面初次渲染完成 1)一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。 2)对界面的设置如wx.setNavigationBarTitle请在onReady之后设置。

onHide: 页面隐藏 1)当navigateTo或底部tab切换时调用。

onUnload: 页面卸载

1)当redirectTo或navigateBack的时候调用。

跳转微信小程序页面的六种方式

为了不让用户在使用小程序时造成困扰,微信小程序规定页面路径只能是五层,请尽量避免多层级的交互方式。  页面跳转的话就涉及到了多个页面层级

跳转到新页面

pen-type="" 相当于API的wx,wx的url。是应用程序内需要跳转的非页面的路径。

保留当前页面,跳转到应用程序中的某个页面,使用wx.返回原始页面。

在当前页面打开

open-type="" 相当于 wx. API 的名称和 wx.是应用程序中需要重定向的非页面的路径。

分享