MPX 小程序框架 - Tracy 小笔记

2023-11-22 06:10
文章标签 程序 笔记 框架 tracy mpx

本文主要是介绍MPX 小程序框架 - Tracy 小笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第1章Mpx课程导学

1-1 mpx介绍

MPX:全面拥抱原生的框架

官方文档:Introduction · mpx文档

基于 Mobo 实现高效的数据相应,基于 webpack 实现基于依赖手机的优化编译

1-2开始

  1. 下载开发者工具
  2. 根据 mpx 官方文档安装 mpx
  3. 根据文档初始化项目,可以开发微信小程序,支付宝小程序,QQ小程序等等
  4. 进入目录安装 依赖
  5. # development
    npm run watch

    # production
    npm run build
  6. 打开开发者工具,导入dist/wx,填写 appID
    同时  appID 也要填写到项目 project.config.json 中的 appid 中
  7. 开发者工具左上角 :模拟器和调试器我们总用,编译器是可以看的但是不能再这里改,因为这是我们框架生成的原生的代码
  8. 打开 vs-code
  9. 下载相关插件 在mpx 文档的单位件-编辑器、IDE 配置中
    vscode 添加插件 mpx、minapp、Vetur、Color Highlight、language-stylus等

1-3 效果演示

  1. 开 mpx 官方github: github.com/didi/mpx
  2. donwload 下来
  3. 项目在examples 文件夹中
  4. 试跑 examples/todoMVC 项目
  5. npm install
  6. npm run build,  这个命令能生成 dist 文件夹中的文件
  7. 微信开发者 工具导入该项目
  8. src/app.mpx 小程序入口文件
  9. <script name="application/json" mode="ali" > 支付宝
    <script name="application/json" mode="wx" > 微信
    根据微信小程序平台的不同,进行的差异化的编译(多肽协议)

    mpx 不仅支持块级别的条件协议,而且支持文件级别,代码行级别的条件协议
  10. mpx 一个页面一个文件,而不是像原生一样一个页面还要创建文件夹对应4个文件

第2章Mpx能力增强

2-1 数据响应

可以像 vue 一样设置 data, computed, load(),watch等

2-2 状态管理

类似于 vuex 的状态管理,来实现组件间通讯

 src/store/index.js

查看文档:数据管理 · mpx文档

事件绑定需要阅读原生的小程序开发文档:事件 | 微信开放文档

state: 状态

getters: 获取特定状态的 state,比如说对某state 进行过滤或者计数等

mutations: 同步更改 state

actions: 异步方法,再通过 commit mutation 来更改 state

子模块和多实例

  • 当应用变得非常复杂时,store 对象就有可能变得相当臃肿
  • mpx内置store 允许我们将 store 分割成模块 (类似于 vue )
  • 允许创建多实例,各store实例彼此互相独立,状态互不干扰 (更推荐这个)

2-3 模板增强

双向绑定

<input type="text" wx:model="{{value}}" /><view>{{value}}</view>data:{value:""}

内联传参

<view wx:for="listData"><button bindtap="clickButton(item)">第{{index}}项</button></view>method:{clickButton(item){console.log(item);}}

动态组件

<component is="{{componentName}}"></component>data:{
componentName:"test1"
}<script type="application/json">
{"usingComponents":{"test1":"../components/test1"}
}
</script>这里还要创建一个 text1.mpx 组件

样式类名绑定

template增强特性 · mpx文档

2-4样式及json增强

预处理器 - Sass / Stylus / Less

默认是 stylus 如果想用 less 需要安装 (-D : 开发时依赖)

npm i less less-loader -D

Rpx转换(750rpx 手机屏幕宽度)

让css 里写 px 的地方,换算成 rpx 

也可以在 comments 里声明一个注释,写了这个注释的 css px 就不会被转换

build/webpack.conf.js 文件中

Json 增强

基于webpack依赖收集的按需构建,我们创建组件之后只有真正引用了,才会打包到项目中,之前原生小程序会把所有组件都引入

增强npm支持,更符合npm正常使用体验: 用户只要把包名直接写上

解决JSON作为配置文件的不足:支持注释、动态生成 

<script type="application/json"> 这个 json 文件里代码格式特别严格,注释都不能写

<script name="json"> 可以换成这种方式,这里写的就相当于正常的js 代码,因此可以写一些注释

实现 微信 打包 test 1组件,支付宝等其他小程序打包 test2 组件

第3章Mpx进阶使用

3-1优化结构及跨平台

拆分组件组件通讯:

跨平台

一套代码打包成不同平台的小程序:

package.json 中

npm run watch:cross 

dist/ali 文件夹就是支付宝小程序

dist/swan 文件夹是百度小程序

3-2组件库及资源处理

使用第三方组件库

want weapp 组件库

npm i vant-weapp

不要用如下的方式引入,这样会把所有组件都引入进去

我们在 script 中按需引入即可

组件文件可以在 node_modules/want-weapp 中看到

Vant Weapp - 轻量、可靠的小程序 UI 组件库

动态引入本地资源:图片资源

基础应用

图片路径如果是一个变量该如何处理?比如一开始显示图片1.png 间隔几秒显示 2.png

放大1:需要先 import 进来图片

方法2: require

这种方法不太好的地方是,它会自动打包所有 image 文件夹下的文件,并不是按需引用

这篇关于MPX 小程序框架 - Tracy 小笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/408067

相关文章

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

SpringBoot集成图片验证码框架easy-captcha的详细过程

《SpringBoot集成图片验证码框架easy-captcha的详细过程》本文介绍了如何将Easy-Captcha框架集成到SpringBoot项目中,实现图片验证码功能,Easy-Captcha是... 目录SpringBoot集成图片验证码框架easy-captcha一、引言二、依赖三、代码1. Ea

Gin框架中的GET和POST表单处理的实现

《Gin框架中的GET和POST表单处理的实现》Gin框架提供了简单而强大的机制来处理GET和POST表单提交的数据,通过c.Query、c.PostForm、c.Bind和c.Request.For... 目录一、GET表单处理二、POST表单处理1. 使用c.PostForm获取表单字段:2. 绑定到结

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2