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",
  // 其他平台和环境类似...
}
相关推荐
aPurpleBerry13 小时前
React 01 目录结构、tsx 语法
前端·react.js
basestone16 小时前
🚀 从重复 CRUD 到工程化封装:我是如何设计 useTableList 统一列表逻辑的
javascript·react.js·ant design
IT=>小脑虎18 小时前
2026版 React 零基础小白进阶知识点【衔接基础·企业级实战】
前端·react.js·前端框架
IT=>小脑虎18 小时前
2026版 React 零基础小白入门知识点【基础完整版】
前端·react.js·前端框架
骑自行车的码农19 小时前
🕹️ 设计一个 React 重试
前端·算法·react.js
黎明初时21 小时前
React基础框架搭建8-axios封装与未封装,实现 API 请求管理:react+router+redux+axios+Tailwind+webpack
javascript·react.js·webpack
菜鸟学习成功之路-李飞21 小时前
免费开源一款作文批改小程序模版,下载即可二开
小程序·开源
说私域21 小时前
电商价格战下的创新破局:定制开发开源AI智能名片S2B2C商城小程序的应用与价值
人工智能·小程序·开源
week_泽21 小时前
小程序云函数全面总结笔记_5
笔记·小程序
说私域1 天前
融合“开源链动2+1模式AI智能名片S2B2C商城小程序”:同城自媒体赋能商家私域流量增长的新路径
人工智能·小程序·开源