taro区分编译环境,根据编译的不同的端打包到不同的目录

taro是一个多端统一开发框架,可以实现编写一套代码,实现编译输出不同的端,主要有微信小程序、支付宝小程序、H5、快应用、React Native以及百度小程序、头条小程序、京东小程序等,基本上覆盖到所有的端了,框架默认的编译输出目录为dist,但我们使用taro的目的是为了多端统一开发,需要将不同的端编译输出到不同的目录,以满足我们同时开发的目的.

taro给我们提供了process.env.TARO_ENV变量来判断编译时环境,我们可以通过下面的方式依据编译时环境来编译输出到不同的目录:

// 修改的文件:config/index.js
let env = process.env.TARO_ENV //编译时环境
var outputRoot = ''
switch(env){
  case 'weapp':
    outputRoot= 'dist_weapp'
    break
  case 'h5':
    outputRoot='dist_h5'
    break
  case 'alipay':
    outputRoot='dist_alipay'
    break
  case 'tt':
    outputRoot= 'dist_tt'
    break
  default:
    outputRoot= 'dist'
}

const config = {
  // 其他配置……
  outputRoot: outputRoot,
  // 其他配置……
}

或者我们可以直接简单的配置一下输出目录就可以了,还是在config/index.js文件中,将outputRoot输出目录更改为接收动态参数,直接生成和目标平台同名的目录,前提是dist目录需要有写入权限.

outputRoot: `dist/${process.env.TARO_ENV}`,

这样,也达到了和上面同样的将不同的终端代码编译输出到不同目录的效果,只是所有的终端目录都在dist目录下,会在dist目录下生成诸如h5、weapp、alipay等的目录.这样,我们编译代码的方式不变,仍旧是npm run build:alipay这样的方法.可以参考文档:https://taro-docs.jd.com/taro/docs/envs-debug/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值