从0到一开发微信小程序(3)—小程序框架配置

article/2025/9/10 14:43:27

文章目录

  • 其他相关文章
  • 1、小程序框架
    • 1.1、全局配置
      • 1.1.1、Pages
        • 1.1.1.1、entryPagePath
        • 1.1.1.2、生成页面方式
      • 1.1.2、window
      • 1.1.3、tabBar与属性
      • 1.1.4、常用其他配置
        • 1.1.4.1、sitemapLocation
        • 1.1.4.2、style
        • 1.1.4.3、networkTimeout
        • 1.1.4.4、debug
        • 1.1.4.5、functionalPages
        • 1.1.4.5、subpackages
        • 1.1.4.6、workers
        • 1.1.4.7、requiredBackgroundModes
        • 1.1.4.8、requiredPrivateInfos
        • 1.1.4.9、debugOptions(真机可看)
        • 1.1.4.10、permission
        • 1.1.4.11、usingComponents
      • 1.1.5、单页面配置(指定每个页面的标题等)
      • 1.1.6、公共样式(全局改变)
        • 1.1.6.1、公共样式
        • 1.1.6.2、尺寸单位
        • 1.1.6.3、样式导入
      • 1.1.7、注册小程序
      • 1.1.8、全局属性
    • 1.2、页面配置
      • 1.2.1、页面的生命周期函数
      • 1.2.2、页面的Data对象

其他相关文章

从0到一开发微信小程序(1)——申请账号并安装开发环境
从0到一开发微信小程序(2)——开发第一个小程序
从0到一开发微信小程序(3)—小程序框架配置
从0到一开发微信小程序(4)—小程序组件
从0到一开发微信小程序(5)—小程序WXML
从0到一开发微信小程序(6)—小程序常用API
从0到一开发微信小程序(7)—小程序组件库(提高开发效率)
从0到一开发微信小程序(8)—实战一个商城项目——正在书写中

1、小程序框架

1.1、全局配置

1.1.1、Pages

意义:

  • 用于指定小程序由哪些页面组成,每一项都对应一个页面的 路径(含文件名) 信息。文件名不需要写文件后缀,框架会自动去寻找对应位置的 .json, .js, .wxml, .wxss 四个文件进行处理。
  • 小程序中新增/减少页面,都需要对 pages 数组进行修改。

开发目录:
在这里插入图片描述

1.1.1.1、entryPagePath

指定小程序的默认启动路径(首页),常见情景是从微信聊天列表页下拉启动、小程序列表启动等。如果不填,将默认为 pages 列表的第一项。不支持带页面路径参数。

未指定 entryPagePath 时,数组的第一项代表小程序的初始页面(首页)。
指定 entryPagePath 时,则为指定小程序的默认启动路径(首页)

配置如下:

{"entryPagePath": "pages/index/index"
}

1.1.1.2、生成页面方式

第一种方式

  • 先建文件夹,假设为info,页面为info,则创建流程为:

在这里插入图片描述

在这里插入图片描述

  • 打开app.json添加如下

在这里插入图片描述

 "pages": ["pages/index/index","pages/logs/logs","pages/info/info"],

第二种方式:

  • 直接在app.json中添加目录,就会自己创建

在这里插入图片描述

保存之后
在这里插入图片描述

总结:我们可以发现第二种方式更好,因为少了很多步骤,可以偷偷懒!

1.1.2、window

  • 用于设置小程序的状态栏、导航条、标题、窗口背景色。
属性类型默认值描述
navigationBarBackgroundColorHexColor#000000导航栏背景颜色,如 #000000
navigationBarTextStylestringwhite导航栏标题颜色,仅支持 black / white
navigationBarTitleTextstring导航栏标题文字内容
backgroundColorHexColor#ffffff窗口的背景色
backgroundTextStylestringdark下拉 loading 的样式,仅支持 dark / light
enablePullDownRefreshbooleanfalse是否开启全局的下拉刷新。详见 Page.onPullDownRefresh
onReachBottomDistancenumber50页面上拉触底事件触发时距页面底部距离,单位为 px。详见 Page.onReachBottom
pageOrientationstringportrait屏幕旋转设置,支持 auto / portrait / landscape详见 响应显示区域变化
restartStrategystringhomePage重新启动策略配置
initialRenderingCachestring页面初始渲染缓存配置,支持 static / dynamic
visualEffectInBackgroundstringnone切入系统后台时,隐藏页面内容,保护用户隐私。支持 hidden / none
handleWebviewPreloadstringstatic控制预加载下个页面的时机

。支持 static / manual / auto |

修改app.json文件中的window属性配置

"window": {"navigationBarBackgroundColor": "#000000","navigationBarTextStyle": "white","navigationBarTitleText": "新闻管理系统","backgroundColor": "#000000","backgroundTextStyle": "light","enablePullDownRefresh":true,"onReachBottomDistance":60
},

展示效果:
在这里插入图片描述

1.1.3、tabBar与属性

如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。

属性类型必填默认值描述
colorHexColortab 上的文字默认颜色,仅支持十六进制颜色
selectedColorHexColortab 上的文字选中时的颜色,仅支持十六进制颜色
backgroundColorHexColortab 的背景色,仅支持十六进制颜色
borderStylestringblacktabbar 上边框的颜色, 仅支持 black / white
listArraytab 的列表,详见 list 属性说明,最少 2 个、最多 5 个 tab
positionstringbottomtabBar 的位置,仅支持 bottom / top
custombooleanfalse自定义 tabBar,见详情

其中 list 接受一个数组,只能配置最少 2 个、最多 5 个 tab。tab 按数组的顺序排序,每个项都是一个对象,其属性值如下:

属性类型必填说明
pagePathstring页面路径,必须在 pages 中先定义
textstringtab 上按钮文字
iconPathstring图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。
当 position 为 top 时,不显示 icon。
selectedIconPathstring选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。
当 position 为 top 时,不显示 icon。

修改app.json配置文件,增加tabBar属性配置

"tabBar": {"list": [{"pagePath": "pages/index/index","text": "首页","iconPath":"./images/home.png","selectedIconPath":"./images/home_select.png"}, {"pagePath": "pages/info/info","text": "新闻","iconPath": "./images/news.png","selectedIconPath": "./images/news_select.png"}]}

展示效果:
在这里插入图片描述

1.1.4、常用其他配置

1.1.4.1、sitemapLocation

指明 sitemap.json 的位置;默认为 ‘sitemap.json’ 即在 app.json 同级目录下名字的 sitemap.json 文件

1.1.4.2、style

基础库 2.8.0 开始支持,低版本需做兼容处理。
微信客户端 7.0 开始,UI 界面进行了大改版。小程序也进行了基础组件的样式升级。app.json 中配置 “style”: "v2"可表明启用新版的组件样式。
本次改动涉及的组件有 button icon radio checkbox switch slider。可前往小程序示例进行体验。

1.1.4.3、networkTimeout

各类网络请求的超时时间,单位均为毫秒。

属性类型必填默认值说明
requestnumber60000wx.request
的超时时间,单位:毫秒。
connectSocketnumber60000wx.connectSocket
的超时时间,单位:毫秒。
uploadFilenumber60000wx.uploadFile
的超时时间,单位:毫秒。
downloadFilenumber60000wx.downloadFile
的超时时间,单位:毫秒。

1.1.4.4、debug

可以在开发者工具中开启 debug 模式,在开发者工具的控制台面板,调试信息以 info 的形式给出,其信息有 Page 的注册,页面路由,数据更新,事件触发等。可以帮助开发者快速定位一些常见的问题。

1.1.4.5、functionalPages

基础库 2.1.0 开始支持,低版本需做兼容处理。
插件所有者小程序需要设置这一项来启用插件功能页

1.1.4.5、subpackages

微信客户端 6.6.0 ,基础库 1.7.3 及以上版本支持
启用分包加载时,声明项目分包结构。
写成 subPackages 也支持。

1.1.4.6、workers

基础库 1.9.90 开始支持,低版本需做兼容处理。
使用 Worker 处理多线程任务时,设置 Worker 代码放置的目录

1.1.4.7、requiredBackgroundModes

微信客户端 6.7.2 及以上版本支持
申明需要后台运行的能力,类型为数组。目前支持以下项目:

  • audio: 后台音乐播放
  • location: 后台定位

如:

{"pages": ["pages/index/index"],"requiredBackgroundModes": ["audio", "location"]
}

注:在此处申明了后台运行的接口,开发版和体验版上可以直接生效,正式版还需通过审核。

1.1.4.8、requiredPrivateInfos

自 2022 年 7 月 14 日后发布的小程序,使用以下8个地理位置相关接口时,需要声明该字段,否则将无法正常使用。2022 年 7 月 14 日前发布的小程序不受影响。
申明需要使用的地理位置相关接口,类型为数组。目前支持以下项目:

  • getFuzzyLocation: 获取模糊地理位置
  • getLocation: 获取精确地理位置
  • onLocationChange: 监听试试地理位置变化事件
  • startLocationUpdate: 接收位置消息(前台)
  • startLocationUpdateBackground: 接收位置消息(前后台)
  • chooseLocation: 打开地图选择位置
  • choosePoi: 打开 POI 列表选择位置
  • chooseAddress: 获取用户地址信息

如:

{"pages": ["pages/index/index"],"requiredPrivateInfos": ["getFuzzyLocation", "getLocation","onLocationChange","startLocationUpdateBackground""chooseAddress"]
}

注:若使用以上接口,均需在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。

1.1.4.9、debugOptions(真机可看)

小程序调试相关配置项

属性类型必填默认值描述
enableFPSPanelbooleanfalse是否开启 FPS 面板

FPS面板:

为了便于开发者调试渲染层的交互性能,小程序基础库提供了选项开启 FPS 面板,开发者可以实时查看渲染层帧率。

开启方式:

{"debugOptions": {"enableFPSPanel": "custom"}
}

1.1.4.10、permission

微信客户端 7.0.0 及以上版本支持
小程序接口权限相关设置。字段类型为 Object,结构为:

属性类型必填默认值描述
scope.userLocationPermissionObject位置相关权限声明

PermissionObject 结构

属性类型必填默认值说明
descstring小程序获取权限时展示的接口用途说明。最长 30 个字符

如:

{"pages": ["pages/index/index"],"permission": {"scope.userLocation": {"desc": "你的位置信息将用于小程序位置接口的效果展示" // 高速公路行驶持续后台定位}}
}

app.json 文件配置如下

{"entryPagePath": "pages/index/index","pages": ["pages/index/index","pages/logs/logs","pages/info/info","pages/about/about","pages/test/test"],"window": {"navigationBarBackgroundColor": "#000000","navigationBarTextStyle": "white","navigationBarTitleText": "新闻管理系统","backgroundColor": "#000000","backgroundTextStyle": "light","enablePullDownRefresh": true,"onReachBottomDistance": 60},"style": "v2","sitemapLocation": "sitemap.json","tabBar": {"list": [{"pagePath": "pages/index/index","text": "首页","iconPath": "./images/home.png","selectedIconPath": "./images/home_select.png"}, {"pagePath": "pages/info/info","text": "新闻","iconPath": "./images/news.png","selectedIconPath": "./images/news_select.png"}]},"networkTimeout": {"request": 20000,"connectSocket": 20000,"uploadFile": 20000,"downloadFile": 20000},"debug": true,"permission": {"scope.userLocation": {"desc": "你的位置信息将用于小程序位置接口的效果展示"}},"debugOptions": {"enableFPSPanel": true}
}

1.1.4.11、usingComponents

开发者工具 1.02.1810190 及以上版本支持
在 app.json 中声明的自定义组件视为全局自定义组件,在小程序内的页面或自定义组件中可以直接使用而无需再声明。建议仅在此声明几乎所有页面都会用到的自定义组件。
注1:全局自定义组件会视为被所有页面依赖,会在所有页面启动时进行初始化,影响启动性能且会占用主包大小。只被个别页面或分包引用的自定义组件应尽量在页面配置中声明。 注2:在全局声明使用率低的自定义组件会大幅影响按需注入的效果。

1.1.5、单页面配置(指定每个页面的标题等)

app.json 中的部分配置,也支持对单个页面进行配置,可以在页面对应的 XXX.json 文件来对本页面的表现进行配置。页面中配置项在当前页面会覆盖 app.json 中相同的配置项(样式相关的配置项属于 app.json 中的 window 属性,但这里不需要额外指定 window 字段)

文件内容为一个 JSON 对象,有以下属性:

属性类型默认值描述
navigationBarBackgroundColorHexColor#000000导航栏背景颜色,如 #000000
navigationBarTextStylestringwhite导航栏标题颜色,仅支持 black / white
navigationBarTitleTextstring导航栏标题文字内容
navigationStylestringdefault导航栏样式,仅支持以下值:
default 默认样式
custom 自定义导航栏,只保留右上角胶囊按钮。
homeButtonbooleanfalse在非首页、非页面栈最底层页面或非 tabbar 内页面中的导航栏展示 home 键
backgroundColorHexColor#ffffff窗口的背景色
backgroundTextStylestringdark下拉 loading 的样式,仅支持 dark / light
backgroundColorTopstring#ffffff顶部窗口的背景色,仅 iOS 支持
backgroundColorBottomstring#ffffff底部窗口的背景色,仅 iOS 支持
enablePullDownRefreshbooleanfalse是否开启当前页面下拉刷新。
详见 Page.onPullDownRefresh
onReachBottomDistancenumber50页面上拉触底事件触发时距页面底部距离,单位为px。
详见 Page.onReachBottom
pageOrientationstringportrait屏幕旋转设置,支持 auto / portrait / landscape
详见 响应显示区域变化
disableScrollbooleanfalse设置为 true 则页面整体不能上下滚动。
只在页面配置中有效,无法在 app.json 中设置
usingComponentsObject页面自定义组件
配置
initialRenderingCachestring页面初始渲染缓存
配置,支持 static / dynamic
stylestringdefault启用新版的组件样式
singlePageObject单页模式相关配置
restartStrategystringhomePage重新启动策略配置
handleWebviewPreloadstringstatic控制预加载下个页面的时机
。支持 static / manual / auto
visualEffectInBackgroundstring切入系统后台时,隐藏页面内容,保护用户隐私。支持 hidden / none,若对页面单独设置则会覆盖全局的配置,详见 全局配置
enablePassiveEventObject或boolean事件监听是否为 passive,若对页面单独设置则会覆盖全局的配置,详见 全局配置
rendererstring渲染后端
  • 注:并不是所有 app.json 中的配置都可以在页面覆盖或单独指定,仅限于本文档包含的选项。
  • 注:iOS/Android 客户端 7.0.0 以下版本,navigationStyle 只在 app.json 中生效。

配置方式如下:

{"navigationBarBackgroundColor": "#ffffff","navigationBarTextStyle": "black","navigationBarTitleText": "微信接口功能演示","backgroundColor": "#eeeeee","backgroundTextStyle": "light"
}

index.json文件中的配置如下:

{"usingComponents": {},"navigationBarBackgroundColor": "#ffffff","navigationBarTextStyle": "black","navigationBarTitleText": "微信接口功能演示","backgroundColor": "#eeeeee","backgroundTextStyle": "light"
}

展示效果为:
在这里插入图片描述
在这里插入图片描述

1.1.6、公共样式(全局改变)

  • 在项目根目录的 app.wxss 文件为小程序公的共样式表,相当与CSS初始化文件配置
  • WXSS (WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式
  • WXSS 用来决定 WXML 的组件应该怎么显示
  • 为了适应广大的前端开发者,WXSS 具有 CSS 大部分特性。同时为了更适合开发微信小程序,WXSS 对 CSS 进行了扩充以及修改。
  • 与 CSS 相比,WXSS 扩展的特性有:
    • 尺寸单位
    • 样式导入

1.1.6.1、公共样式

在 app.wxss 文件中添加样式

text{color:red;
}

项目中所有的页面的 text 文本都会呈现红色

1.1.6.2、尺寸单位

rpx(responsive pixel): 可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素

设备rpx换算px (屏幕宽度/750)px换算rpx (750/屏幕宽度)
iPhone51rpx = 0.42px1px = 2.34rpx
iPhone61rpx = 0.5px1px = 2rpx
iPhone6 Plus1rpx = 0.552px1px = 1.81rpx

建议: 开发微信小程序时设计师可以用 iPhone6 作为视觉稿的标准。
注意: 在较小的屏幕上不可避免的会有一些毛刺,请在开发时尽量避免这种情况
在news页面的wxml文件中增加下列代码

<view class="box"></view>

在 app.wxss 文件中,增加box盒子的样式

.box{width: 200rpx;height: 200rpx;background: red;
}

在iphone5上的效果,元素的宽高是85px
在这里插入图片描述

在iphone6上的效果,元素的宽高是100px
在这里插入图片描述

1.1.6.3、样式导入

使用@import语句可以导入外联样式表,@import后跟需要导入的外联样式表的相对路径,用;表示语句结束
在项目根目录下创建common文件夹,并创建common.wxss文件,增加box的样式

.box{margin: 50px;
}

在app.wxss文件中引入common.wxss文件

@import "./common/common.wxss";

此时,刚刚所创建的box也加载了引入文件的样式。
在这里插入图片描述

1.1.7、注册小程序

每个小程序都需要在 app.js 中调用 App 方法注册小程序实例,绑定生命周期回调函数、错误监听和页面不存在监听函数等。

// app.js
App({onLaunch(options) {console.log("监听小程序初始化", options);},onShow(options) {console.log("监听小程序启动", options);},onHide() {console.log("监听小程序切后台");},onError(msg) {// 小程序发生脚本错误或 API 调用报错时触发console.log("错误监听函数", msg)},onPageNotFound(res) {console.log("页面不存在监听函数");},onThemeChange() {console.log("系统切换主题时触发");}
})

展示效果为:
在这里插入图片描述

1.1.8、全局属性

整个小程序只有一个 App 实例,是全部页面共享的。开发者可以通过 getApp 方法获取到全局唯一的 App 实例,获取 App 上的数据或调用开发者注册在 App 上的函数。
在 app.js 文件中增加全局属性

//全局属性,所有页面都可以访问
globalData:{userInfo:"我是全局可访问的数据"
}

我们在info.js文件中读取全局属性

// pages/info/info.js
Page({/*** 页面的初始数据*/data: {message:""},/*** 生命周期函数--监听页面加载*/onLoad(options) {const appInstance= getApp()this.setData({message:appInstance.globalData.userInfo})},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {},/*** 生命周期函数--监听页面显示*/onShow() {},/*** 生命周期函数--监听页面隐藏*/onHide() {},/*** 生命周期函数--监听页面卸载*/onUnload() {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh() {},/*** 页面上拉触底事件的处理函数*/onReachBottom() {},/*** 用户点击右上角分享*/onShareAppMessage() {}
})

修改info.wxml文件显示内容

<text>{{message}}</text>

展示效果:
在这里插入图片描述

1.2、页面配置

1.2.1、页面的生命周期函数

注册小程序中的一个页面。指定页面的生命周期函数
在这里插入图片描述

属性类型说明
onLoadfunction生命周期回调—监听页面加载
onShowfunction生命周期回调—监听页面显示
onReadyfunction生命周期回调—监听页面初次渲染完成
onHidefunction生命周期回调—监听页面隐藏
onUnloadfunction生命周期回调—监听页面卸载

在info.js中添加以下内容:

// pages/info/info.js
Page({/*** 页面的初始数据*/data: {message:""},/*** 生命周期函数--监听页面加载*/onLoad(options) {console.log("页面加载");const appInstance= getApp()this.setData({message:appInstance.globalData.userInfo})},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {console.log("页面渲染完成");},/*** 生命周期函数--监听页面显示*/onShow() {console.log("页面显示");},/*** 生命周期函数--监听页面隐藏*/onHide() {console.log("页面隐藏");},/*** 生命周期函数--监听页面卸载*/onUnload() {console.log("页面卸载");},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh() {console.log("下拉动作");},/*** 页面上拉触底事件的处理函数*/onReachBottom() {console.log("页面上拉触底事件");},/*** 用户点击右上角分享*/onShareAppMessage() {console.log("用户点击右上角分享");}
})

展示效果:
在这里插入图片描述

生命周期函数的作用

在不同的生命周期函数,根据业务需求,可以增加业务。例如:我们可以在 onShow 函数中修改data中的数据

Page({data:{hello:"hello"},onShow() {this.setData({hello:"大家好,我是初学小程序的人"})}
})

最后:建议大家把小程序的这几个生命周期记住!!!!!

1.2.2、页面的Data对象

  • 简单理解就是后端的数据,怎么展示在前端中,一般都是通过这个data对象,就是页面第一次渲染使用的初始数据。
  • 页面加载时,data 中的数据将会以JSON字符串的形式由逻辑层传至渲染层,因此data中的数据必须是可以转成JSON的类型:字符串,数字,布尔值,对象,数组

例子如下:
在info.js中加入以下配置

// pages/info/info.js
Page({/*** 页面的初始数据*/data: {hello: "hello world",num: 1,flag: true,user: {name: "zhz",age: 19},names: ["zhz", "xiaobai", "zhz小白"]}
})

在info.wxml中添加

<view><text>{{ hello }}</text></view>
<view><text>{{ num }}</text></view>
<view><text>{{ flag }}</text></view>
<view><text>{{ user.name }}</text></view>
<view><text>{{ names[1] }}</text></view>

展示效果:
在这里插入图片描述

如果我们想修改data对象里面的值,可以这样写:

// pages/info/info.js
Page({/*** 页面的初始数据*/data: {hello: "hello world",num: 1,flag: true,user: {name: "zhz",age: 19},names: ["zhz", "xiaobai", "zhz小白"]},/*** 生命周期函数--监听页面加载*/onLoad(options) {this.setData({flag:false,num:2})
})

展示效果如下:我们发现flag,num都改了
在这里插入图片描述

有兴趣可以加知识星球:(每日打卡,每日一题,Java,前端)

知识星球学习,欢迎进来,保证受益无穷

我是zhz小白,一个在互联网行业的小白,立志成为一名架构师
https://blog.csdn.net/zhouhengzhe?t=1


http://chatgpt.dhexx.cn/article/fkEjYUOZ.shtml

相关文章

微信小程序云开发教程-微信小程序框架的介绍

同学们大家好&#xff0c;我是小伊同学&#xff0c;今天我们来学习微信小程序框架。 微信小程序实质上是一款基于web技术的应用程序&#xff0c;他和我们平常所接触到的前端网页是大同小异的。相同点在于他们使用的开发语言&#xff0c;代码结构以及代码的运行机制是一样。但是…

uni-app框架、微信小程序项目

一、微信小程序项目发布 1.确定项目中没有bug,不能是demo&#xff1b; ​ 2.查看项目包大小&#xff1b; ​ 3.填写小程序基本信息&#xff0c;比如名称 头像 介绍 服务类目 ​ 4.注意配置域名白名单(微信公众平台----->开发----->开发管理----->服务器域名---->…

【微信小程序 | 实战开发】常用小程序框架介绍

写在前面: 你是否想要掌握人工智能的最新技术和应用?你是否想要成为未来社会的创新者和领导者?你是否想要和全球的优秀导师和同学一起学习和交流?如果你的答案是肯定的,那么欢迎来到床长人工智能教程网站,这里是你实现梦想的起点! 个人名片: 🐼作者简介:一名大二在校…

微信小程序云开发框架

概述 一直做后端服务器开发&#xff0c;最近看了一篇文章介绍小程序的云开发模式&#xff0c;觉得挺有意思&#xff0c;就尝试了一下&#xff0c;由本文做个记录。 因为不是专业的小程序开发人员&#xff0c;也没有做过网页开发&#xff0c;所以论述中出现错误难以避免&#…

原生微信小程序项目基础框架搭建

原生微信小程序项目基础框架搭建 文件目录结构 1. 环境变量&#xff08;开发环境&#xff0c; 线上环境&#xff0c;测试环境&#xff09;便于在不同环境的切换 接口的urlwebview的前缀url埋点相关的环境参数本地存储的环境变量配置 … 根目录中的 config 文件 中的 env.j…

开发跨端微信小程序框架选型指南

多端框架uni-app和Taro选型对比 一. 背景 小程序原生开发有不少槽点&#xff1a; 1.原生wxml开发对Node、预编译器、webpack支持不好&#xff0c;影响开发效率和工程构建流程。所以大公司都会用框架开发 2.微信定义的这套语法&#xff0c;wxml、wxs&#xff0c;以及wx:if等语…

微信小程序 微信小程序框架API

完整微信小程序(Java后端) 技术贴目录清单页面&#xff08;必看&#xff09; 微信小程序框架所提供的API接口也是相当完备的,如果说小程序组件是用来构建小程序的视图层,那么小程序API则在小程序逻辑层担当重任。随着小程序版本的更新迭代,目前小程序框架 API分类已经达到了19…

微信小程序框架(一)-全面详解(学习总结---从入门到深化)

目录 小程序与普通网页开发的区别 体验小程序 微信小程序账号申请 微信小程序开发者工具 下载安装 创建项目 开发者工具说明 小程序目录结构 描述整体的 app 描述各自页面的 page 全局配置_Pages Pages配置 entryPagePath 快捷生成页面方案 全局配置_window 常用属性…

微信小程序学习笔记(二)-- 开发之框架

一、小程序框架介绍&#xff08;了解&#xff09; 小程序框架包含小程序的配置、框架接口、场景值、WXML 和 WXS 等 二、小程序的配置&#xff08;精通&#xff09; 小程序的配置分为全局配置、页面配置以及sitemap 配置 1、全局配置 小程序根目录下的 app.json 文件用来对…

微信小程序框架

框架 小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生 APP 体验的服务。 整个小程序框架系统分为两部分&#xff1a;逻辑层&#xff08;App Service&#xff09;和 视图层&#xff08;View&#xff09;。小程序提供了自己的视图层描述语言…

【微信小程序】小程序框架分析

1.MVC MVC是Model-View- Controller的简写,即模型-视图-控制器&#xff0c;简单来说就是通过controller的控制去操作model层的数据&#xff0c;并且返回给view层展示。 当用户出发事件的时候&#xff0c;view层会发送指令到controller层&#xff0c;接着controller去通知mode…

微信小程序常见的UI框架/组件库总结

图片 想要开发出一套高质量的小程序&#xff0c;运用框架&#xff0c;组件库是省时省力省心必不可少一部分&#xff0c;随着小程序日渐火爆&#xff0c;各种不同类型的小程序也渐渐更新&#xff0c;其中不乏一些优秀好用的框架/组件库。 1&#xff1a;WeUI 小程序–使用教程 ht…

强烈推荐:小程序常用的6款框架总结

随着前端的知识不断更新&#xff0c;小程序也成为了我们开发中的日常。微信小程序、百度小程序、支付宝小程序、头条小程序等等不断涌入我们的生活&#xff0c;随着小程序的火爆&#xff0c;各种小程序框架不断出现&#xff0c;也在不断更新。路漫漫&#xff0c;学不完呀&#…

微信小程序框架介绍以及项目目录结构

完整微信小程序(Java后端) 技术贴目录清单页面&#xff08;必看&#xff09; 微信小程序框架介绍 微信团队为小程序提供的框架命名为MINA。MINA框架通过封装微信客户端提供的文件系统、网络通信、任务管理、数据安全等基础功能&#xff0c;对上层提供一整套JavaScript API&am…

爬虫入门

爬虫入门 1. 概述 本文首先介绍Requests库如何自动爬取HTML页面以及如何自动网络请求提交&#xff0c;随后将会讲解如何阅读网络爬虫排除标准。获取了网页之后用BeautifulSoup库解析HTML页面&#xff0c;然后讲解正则表达式&#xff0c;以及如何用正则表达式提取网页关键信…

一个简单爬虫的入门教程

前言 我毕业论文要写文本大数据情绪分析&#xff0c;没有现成的数据。淘宝要价600块我又舍不得&#xff0c;只能自学爬虫。我一点计算机网络的基础都没有&#xff0c;光是入门就花了一周&#xff08;不知道从何下手&#xff09;&#xff0c;所幸爬虫不难&#xff0c;只要见过就…

python爬虫入门教程:开始一个简单的爬虫

本文下面所有的Python基础都有详细的配套教程以及源码&#xff0c;都已经打包好上传到百度云了&#xff0c;链接在文章结尾处&#xff01; 扫码此处领取大家自行获取即可~~~ 1.爬虫的过程分析 当人类去访问一个网页时&#xff0c;是如何进行的&#xff1f;   ①打开浏览器&…

从原理到实战,一份详实的 Scrapy 爬虫教程

之前分享了很多 requests 、selenium 的 Python 爬虫文章&#xff0c;本文将从原理到实战带领大家入门另一个强大的框架 Scrapy。如果对Scrapy感兴趣的话&#xff0c;不妨跟随本文动手做一遍&#xff01; 一、Scrapy框架简介 Scrapy是:由Python语言开发的一个快速、高层次的屏幕…

超级简单的Python爬虫教程,python爬虫菜鸟教程官网

毫无基础的人如何入门 Python ? Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语言&#xff0c;比如非常难学的C语言&#xff0c;非常流行的Java语言&#xff0c;适合初学者的Basic语言&#xff0c;适合网页编程的JavaScript语言等等。 那Python是一种…

爬虫教程(1)基础入门

爬虫介绍 网络爬虫&#xff0c;英译为 web crawler &#xff0c;是一种自动化程序&#xff0c;现在我们很幸运&#xff0c;生处互联网时代&#xff0c;有大量的信息在网络上都可以查得到&#xff0c;但是有时我们需要网络上的数据&#xff0c;活着文章&#xff0c;图片等等&…