当前位置: 首页 > java >正文

react+taro打包到不同小程序

前言:

        taro是和uniapp一样的夸端工具,主要基于react来实现,这里说一说如何来打包到不同品牌的小程序。

具体区别:

针对不同小程序,主要就是打包命令不同

目标平台打包命令输出目录说明
微信小程序npm run build:weappdist/weapp需安装 @tarojs/plugin-platform-weapp 插件
支付宝小程序npm run build:alipaydist/alipay
百度小程序npm run build:swandist/swan
字节跳动小程序npm run build:ttdist/tt
QQ 小程序npm run build:qqdist/qq
京东小程序npm run build:jddist/jd
H5npm run build:h5dist/h5
React Nativenpm run build:rnbuild/rn

具体打包:

Taro 通过 --type 参数指定目标平台,配合 config/index.js 中的配置和环境变量

1、config/index.js 里的配置

module.exports = {// 项目名称projectName: 'myApp',// 输出根目录,使用环境变量区分平台outputRoot: `dist/${process.env.TARO_ENV}`,// 微信小程序特定配置weapp: {postcss: {autoprefixer: { enable: true },pxtransform: { enable: true }}},// H5 特定配置h5: {publicPath: '/',staticDirectory: 'static',// 其他H5 webpack配置...}
}

2、如果多环境打包,比如分dev,test等,可以用cross-env

npm install cross-env
// config/index.js
module.exports = function (merge) {// 基础配置const baseConfig = {// ... 你的基础配置};// 根据 process.env.NODE_ENV 加载不同环境的配置并合并if (process.env.NODE_ENV === 'dev') {return merge({}, baseConfig, require('./dev'));}if (process.env.NODE_ENV === 'test') {return merge({}, baseConfig, require('./test'));}return merge({}, baseConfig, require('./prod'));
}

pack.json文件中得命令也要改变

"scripts": {"build:weapp:dev": "cross-env NODE_ENV=dev taro build --type weapp","build:weapp:test": "cross-env NODE_ENV=test taro build --type weapp","build:weapp:prod": "cross-env NODE_ENV=prod taro build --type weapp","dev:weapp": "cross-env NODE_ENV=dev taro build --type weapp --watch",// 其他平台和环境类似...
}

http://www.xdnf.cn/news/18770.html

相关文章:

  • Nginx与Apache:Web服务器性能大比拼
  • Docker:技巧汇总
  • 连锁零售排班难?自动排班系统来解决
  • Swiper属性全解析:快速掌握滑块视图核心配置!(2.3补充细节,详细文档在uniapp官网)
  • 从C语言到数据结构:保姆级顺序表解析
  • 数据库之两段锁协议相关理论及应用
  • 前端开发:详细介绍npm、pnpm和cnpm分别是什么,使用方法以及之间有哪些关系
  • Ansible 任务控制与事实管理指南:从事实收集到任务流程掌控
  • 面向过程与面向对象
  • AP服务发现中两条重启检测路径
  • Linux系统操作编程——http
  • 逆向抄数工程师能力矩阵:设备操作(±0.05mm 精度)× 曲面重构 ×GDT 公差分析
  • springboot项目每次启动关闭端口仍被占用
  • CTFshow系列——命令执行web53-56
  • GO学习记录八——多文件封装功能+redis使用
  • Coze用户账号设置修改用户昵称-前端源码
  • Vue 3 defineOptions 完全指南:让组件选项声明更现代化
  • `lock()` 和 `unlock()` 线程同步函数
  • Node.js(1)—— Node.js介绍与入门
  • maven-default-http-blocker (http://0.0.0.0/)
  • 设计模式4-建造者模式
  • 【AI论文】LiveMCP-101:针对支持多主体通信协议(MCP)的智能体在复杂查询场景下的压力测试与故障诊断
  • iptables 防火墙技术详解
  • 【AI编程】如何快速通过AI IDE集成开发工具来生成一个简易留言板系统
  • 使用 HandlerMethodReturnValueHandler 在SpringBoot项目 实现 RESTful API 返回值自动封装,简化开发
  • Linux系统网络管理
  • 积分排行样式
  • 动态住宅代理:跨境电商数据抓取的稳定解决方案
  • 3785定期复盘代码实现设计模式的越识应用
  • Java接口调用第三方接口时的超时处理策略