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编写朋克风格的天气查询程序

《python编写朋克风格的天气查询程序》这篇文章主要为大家详细介绍了一个基于Python的桌面应用程序,使用了tkinter库来创建图形用户界面并通过requests库调用Open-MeteoAPI... 目录工具介绍工具使用说明python脚本内容如何运行脚本工具介绍这个天气查询工具是一个基于 Pyt

Ubuntu设置程序开机自启动的操作步骤

《Ubuntu设置程序开机自启动的操作步骤》在部署程序到边缘端时,我们总希望可以通电即启动我们写好的程序,本篇博客用以记录如何在ubuntu开机执行某条命令或者某个可执行程序,需要的朋友可以参考下... 目录1、概述2、图形界面设置3、设置为Systemd服务1、概述测试环境:Ubuntu22.04 带图

Python程序打包exe,单文件和多文件方式

《Python程序打包exe,单文件和多文件方式》:本文主要介绍Python程序打包exe,单文件和多文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python 脚本打成exe文件安装Pyinstaller准备一个ico图标打包方式一(适用于文件较少的程

Python程序的文件头部声明小结

《Python程序的文件头部声明小结》在Python文件的顶部声明编码通常是必须的,尤其是在处理非ASCII字符时,下面就来介绍一下两种头部文件声明,具有一定的参考价值,感兴趣的可以了解一下... 目录一、# coding=utf-8二、#!/usr/bin/env python三、运行Python程序四、

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

SpringBoot基础框架详解

《SpringBoot基础框架详解》SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等,使用SpringBoot可以不用或者只需要很少的Spring配置就可以让企业项目快... 目录SpringBoot基础 – 框架介绍1.SpringBoot介绍1.1 概述1.2 核心功能2

SpringBoot后端实现小程序微信登录功能实现

《SpringBoot后端实现小程序微信登录功能实现》微信小程序登录是开发者通过微信提供的身份验证机制,获取用户唯一标识(openid)和会话密钥(session_key)的过程,这篇文章给大家介绍S... 目录SpringBoot实现微信小程序登录简介SpringBoot后端实现微信登录SpringBoo

uniapp小程序中实现无缝衔接滚动效果代码示例

《uniapp小程序中实现无缝衔接滚动效果代码示例》:本文主要介绍uniapp小程序中实现无缝衔接滚动效果的相关资料,该方法可以实现滚动内容中字的不同的颜色更改,并且可以根据需要进行艺术化更改和自... 组件滚动通知只能实现简单的滚动效果,不能实现滚动内容中的字进行不同颜色的更改,下面实现一个无缝衔接的滚动

Java使用WebView实现桌面程序的技术指南

《Java使用WebView实现桌面程序的技术指南》在现代软件开发中,许多应用需要在桌面程序中嵌入Web页面,例如,你可能需要在Java桌面应用中嵌入一部分Web前端,或者加载一个HTML5界面以增强... 目录1、简述2、WebView 特点3、搭建 WebView 示例3.1 添加 JavaFX 依赖3