react+taro打包到不同小程序

前言:

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

具体区别:

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

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

具体打包:

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

1、config/index.js 里的配置

javascript 复制代码
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文件中得命令也要改变

javascript 复制代码
"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",
  // 其他平台和环境类似...
}
相关推荐
谢尔登17 分钟前
React19事件调度的设计思路
前端·javascript·react.js
2301_7965125236 分钟前
【精通篇】打造React Native鸿蒙跨平台开发高级复合组件库开发系列:Lazyload 懒加载(懒加载的图片)
前端·javascript·react native·react.js·ecmascript·harmonyos
摘星编程1 小时前
OpenHarmony环境下React Native:Timeline时间轴组件
javascript·react native·react.js
摘星编程1 小时前
在OpenHarmony上用React Native:Timeline水平时间轴
javascript·react native·react.js
2501_933907212 小时前
上海本凡科技的微信小程序公司主要提供哪些服务?
科技·微信小程序·小程序
码农客栈2 小时前
小程序学习(十七)之获取前台分类数据并渲染
小程序
2601_949804922 小时前
【全开源】AJAX家政上门服务系统小程序自营+多商家(高级授权)+独立端
小程序
h7ml2 小时前
查券返利机器人图像识别:OpenCV 模板匹配对抗淘宝小程序动态化骨架屏
opencv·小程序·机器人
低代码布道师2 小时前
教培管家第14讲:家长端——打造合规且顺畅的登录门户
低代码·小程序·云开发
LZQ <=小氣鬼=>2 小时前
React + Ant Design (antd) 国际化完整实战教程
前端·react.js·前端框架·antd·moment