uniapp小程序分包页面引入wxcomponents(vue.config.js、copy-webpack-plugin)

实例:小程序添加一个源生小程序插件,按照uniapp官方的说明,要放在wxcomponents。后来发现小程序超2m上传不了。

正常的编译情况

会被编译到主包下

思路:把wxcomponents给编译到分包sub_package下

用uniapp的vue.config.js自定义静态资源目录

按照官方要求copy-webpack-plugin用5.0.0的版本(不用5.0.0的话,会报错,忘了截图)

npm 复制代码
npm install -save copy-webpack-plugin@5.0.0

把wxcomponents真个文件夹放到sub_package下

在项目根目录创建vue.config.js文件

js 复制代码
const path = require('path');

function resolve(dir) {
	return path.join(__dirname, dir)
}
const CopyWebpackPlugin = require('copy-webpack-plugin')
module.exports = {
	configureWebpack:{
		plugins: [
			new CopyWebpackPlugin([{
				from: path.join(__dirname, 'sub_package/wxcomponents'),
				to: path.join(__dirname, 'unpackage/dist', process.env.NODE_ENV === 'production' ? 'build' : 'dev',
					'mp-weixin', 'sub_package/wxcomponents')
			}])
		]
	}
}

解释下:CopyWebpackPlugin的from就是把分包sub_package/wxcomponents里的文件自定义打包到unpackage/dist->build/dev->mp-weixin->sub_package/wxcomponents里

pages.json也要改下引入的路径

js 复制代码
"subPackages": [
	{
		"root": "sub_package",
		"pages": [
			{
				"path": "face/face",
				"style" :
				{
				    "navigationBarTitleText": "测试",
				    "enablePullDownRefresh": false,
					"usingComponents": {
						"verify-test":"../wxcomponents/test/index/index"
					}
				}
			}
		]
	}
]

修改后编译

主包下就找不到wxcomponents

打包到分包sub_package里了

注意点:之前在网上找了很多方法,虽然都是用copy-webpack-plugin,但是都实现不了,原因在CopyWebpackPlugin的to路径上的问题,本来是这样的

js 复制代码
configureWebpack:{
	plugins: [
		new CopyWebpackPlugin([{
			from: path.join(__dirname, 'sub_package/wxcomponents'),
			to: path.join(__dirname, 'dist', process.env.NODE_ENV === 'production' ? 'build' : 'dev',
				'mp-weixin', 'sub_package/wxcomponents')
		}])
	]
}

后面要加上unpackage才行,猜测是dist是在unpackage下,要完整的设置路径

相关推荐
paopaokaka_luck4 小时前
停车小程序(车牌OCR智能识别、地图API、Echarts图形化分析、智能车位预约、自动计费与订单处理)
小程序·ocr·echarts
FinelyYang6 小时前
UniApp + LiveKit:Android 端为什么要用原生做屏幕共享,以及我们怎么落地的
android·uni-app
单词记忆方法研究7 小时前
大学英语单词:我踩过的坑,和你该走的路
机器学习·小程序·学习方法
Ai-_Man10 小时前
怎么手动备份豆包智能体的聊天数据?
人工智能·ai·小程序
宠友信息13 小时前
IM系统开发技术路线分析,即时通讯源码助力快速搭建聊天应用
java·spring boot·redis·websocket·mysql·uni-app·vue
Ai-_Man13 小时前
豆包收藏夹能批量导出吗?从底层逻辑拆解「AI导出鸭」如何解构这一技术难题
人工智能·ai·小程序
微擎应用17 小时前
小程序抽奖工具
小程序
Ai-_Man1 天前
希望大家能推荐一款软件,可以直接把文心生成的代码变流程图,提高办公效率
人工智能·ai·小程序·流程图
Chengbei111 天前
DSH渗透测试插件dsh-pentest全新升级!适配DeepSeek Harness,可视化探索链路,一键搭建轻量化AI渗透测试环境。
人工智能·web安全·网络安全·微信·小程序·系统安全·安全架构
2601_949950631 天前
用练题簿小程序把课件做成可以在线刷题的内容
小程序·练习·小程序推荐