uniapp 多渠道打包实现方案

首先一个基础分包方案:
项目整体结构
build编译前相关问题
src资源文件和vue布局文件分包结构
包不用区分渠道,只是通过文件名进行区分,公共代码逻辑可以通过mixins进行混入。

这样分包后就需要在打包时只针对编译的渠道包文件进行替换打包,其他渠道包的文件不打包进去,通过工具类实现替换。

项目主目录下的manifest.json 和 pages.json 可以是空内容,都是通过工具类将prebuild目录下不同渠道不同平台的对应文件内容复制然后写到项目主目录下去的。

  1. 先看主要配置文件:
//package.json
{
   
	"name": "demo",
	"config": {
   
		"dev": "cross-env NODE_ENV=development uniapp-cli custom",
		"pro": "cross-env NODE_ENV=production uniapp-cli custom"
	},
	"version": "0.1.0",
	"private": true,
	"scripts": {
   
		"dev:ks-brandA": "cross-env-shell $npm_package_config_dev bd-brandA --minimize",
		"dev:tt-brandA": "cross-env-shell $npm_package_config_dev tt-brandA --minimize",
		"dev:bd-brandA": "cross-env-shell $npm_package_config_dev ks-brandA --minimize",
		"build:bd-brandA": "cross-env-shell $npm_package_config_pro bd-brandA --minimize",
		"build:tt-brandA": "cross-env-shell $npm_package_config_pro tt-brandA --minimize",
		"build:ks-brandA": "cross-env-shell $npm_package_config_pro ks-brandA --minimize",
		
		"dev:ks-brandB": "cross-env-shell $npm_package_config_dev bd-brandB --minimize",
		"dev:tt-brandB": "cross-env-shell $npm_package_config_dev tt-brandB --minimize",
		"dev:bd-brandB": "cross-env-shell $npm_package_config_dev ks-brandB --minimize",
		"build:bd-brandB": "cross-env-shell $npm_package_config_pro bd-brandB --minimize",
		"build:tt-brandB": "cross-env-shell $npm_package_config_pro tt-brandB --minimize",
		"build:ks-brandB": "cross-env-shell $npm_package_config_pro ks-brandB --minimize",

	},
	"dependencies": {
   
		"@dcloudio/uni-app": "^2.0.2-3081220230817001",
		"@dcloudio/uni-app-plus": "^2.0.2-3081220230817001",
		"@dcloudio/uni-h5": "^2.0.2-3081220230817001",
		"@dcloudio/uni-i18n": "^2.0.2-3081220230817001",
		"@dcloudio/uni-mp-360": "^2.0.2-3081220230817001",
		"@dcloudio/uni-mp-alipay": "^2.0.2-3081220230817001",
		"@dcloudio/uni-mp-baidu": "^2.0.2-3081220230817001",
		"@dcloudio/uni-mp-jd": "^2.0.2-3081220230817001",
		"@dcloudio/uni-mp-kuaishou": "^2.0.2-3081220230817001",
		"@dcloudio/uni-mp-lark": "^2.0.2-3081220230817001",
		"@dcloudio/uni-mp-qq": "^2.0.2-3081220230817001",
		"@dcloudio/uni-mp-toutiao": "^2.0.2-3081220230817001",
		"@dcloudio/uni-mp-vue": "^2.0.2-3081220230817001",
		"@dcloudio/uni-mp-weixin": "^2.0.2-3081220230817001",
		"@dcloudio/uni-mp-xhs": "^2.0.2-3081220230817001",
		"@dcloudio/uni-quickapp-native": "^2.0.2-3081220230817001",
		"@dcloudio/uni-quickapp-webview": "^2.0.2-3081220230817001",
		"@dcloudio/uni-stacktracey": "^2.0.2-3081220230817001",
		"@dcloudio/uni-stat": "^2.0.2-3081220230817001",
		"@dcloudio/uni-ui": "^1.4.28",
		"@vue/shared": "^3.0.0",
		"core-js": "^3.8.3",
		"crypto-js": "^3.1.9-1",
		"flyio": "^0.6.2",
		"vue": ">= 2.6.14 < 2.7",
		"vuex": "^3.2.0"
	},
	"devDependencies": {
   
		"@dcloudio/types": "^3.3.2",
		"@dcloudio/uni-automator": "^2.0.2-3081220230817001",
		"@dcloudio/uni-cli-i18n": "^2.0.2-3081220230817001",
		"@dcloudio/uni-cli-shared": "^2.0.2-3081220230817001",
		"@dcloudio/uni-helper-json": "*",
		"@dcloudio/uni-migration": "^2.0.2-3081220230817001",
		"@dcloudio/uni-template-compiler": "^2.0.2-3081220230817001",
		
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值