taro3 + vue3 + ts 跨平台体验记录

2024-01-27 11:52

本文主要是介绍taro3 + vue3 + ts 跨平台体验记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

taro3 + vue3 + ts 跨平台体验记录,根据进度不定期更新。

  • 目标平台包含:H5、微信小程序、APP。
  • 开发环境:windows

安装cli【官方安装文档】

npm install -g @tarojs/cli

常用命令

// 查看taro版本
npm info @tarojs/cli

创建demo项目

  1. taro init myApp

第一步就报错了,原因是powershall权限不够。解决办法 :使用管理员身份运行。
另外,终端最好使用cmd或者powershall,因为git bash还不能处理命令行执行过程中的选项操作。

taro : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\taro.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参
阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ taro init taro_test
+ ~~~~+ CategoryInfo          : SecurityError: (:) [],PSSecurityException+ FullyQualifiedErrorId : UnauthorizedAccess

成功执行命令后,根据步骤做选项,这是我的选择:
初始选项
因为会自动安装依赖,所以时间确实长一点。

如果依赖安装失败,可以自行进入项目根目录,执行install安装。myApp就是项目目录

// 进入目录
cd myApp
// 然后尝试使用npm | yarn | cnpm安装
yarn
npm install
cnpm install

这是自动安装成功后的界面
自动安装成功界面
命令行进入myApp后就可以使用开发和打包等命令了

运行dev环境

在运行环境前,先看看根目录下的package.json文件里的scripts,这里定义了常用的脚本命令,可直接使用

"scripts": {"build:weapp": "taro build --type weapp","build:swan": "taro build --type swan","build:alipay": "taro build --type alipay","build:tt": "taro build --type tt","build:h5": "taro build --type h5","build:rn": "taro build --type rn","build:qq": "taro build --type qq","build:jd": "taro build --type jd","build:quickapp": "taro build --type quickapp","dev:weapp": "npm run build:weapp -- --watch","dev:swan": "npm run build:swan -- --watch","dev:alipay": "npm run build:alipay -- --watch","dev:tt": "npm run build:tt -- --watch","dev:h5": "npm run build:h5 -- --watch","dev:rn": "npm run build:rn -- --watch","dev:qq": "npm run build:qq -- --watch","dev:jd": "npm run build:jd -- --watch","dev:quickapp": "npm run build:quickapp -- --watch"},

dev开头的就是默认支持的开发环境脚本,其中这三个是我重点关注 的:

  • h5(h5 web)
  • rn(react native app)
  • weapp(微信小程序)

希望一套代码能顺利支持这三个平台,下面进入目录并开启h5

// 进入目录
cd myApp

taro多平台开发时要注意兼容顺序,h5 > 小程序 > app,所以如果目标是app,源码要以rn的规则作为边界。


真实项目总结:taro2 + react => 微信小程序

打包

  1. 小程序
  • 打包:包的字节数受小程序平台规则的限制,所以功能多的小程序要考虑分包、按需加载、打包瘦身,这些最好提前规划,后补可能会影响源码结构
  1. taro版本
  • 维护中的项目需要关注版本和相关包版本,可能会出现版本错位造成的错误,比如打包出错。

结束语

这篇文章好像有点鸡肋,早早地被遗忘在了草稿箱里,好在taro的最新版本仍然是3(4是未发行版),算是自己的关于taro的使用笔记。有机会再更新。

这篇关于taro3 + vue3 + ts 跨平台体验记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

Python结合PyWebView库打造跨平台桌面应用

《Python结合PyWebView库打造跨平台桌面应用》随着Web技术的发展,将HTML/CSS/JavaScript与Python结合构建桌面应用成为可能,本文将系统讲解如何使用PyWebView... 目录一、技术原理与优势分析1.1 架构原理1.2 核心优势二、开发环境搭建2.1 安装依赖2.2 验

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

前端CSS Grid 布局示例详解

《前端CSSGrid布局示例详解》CSSGrid是一种二维布局系统,可以同时控制行和列,相比Flex(一维布局),更适合用在整体页面布局或复杂模块结构中,:本文主要介绍前端CSSGri... 目录css Grid 布局详解(通俗易懂版)一、概述二、基础概念三、创建 Grid 容器四、定义网格行和列五、设置行

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob