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

news/2024/7/20 2:43:05 标签: uni-app, 小程序

实例:小程序添加一个源生小程序插件,按照uniapp官方的说明,要放在wxcomponents。后来发现小程序超2m上传不了。
正常的编译情况在这里插入图片描述
会被编译到主包下
在这里插入图片描述
思路:把wxcomponents给编译到分包sub_package下

用uniapp的vue.config.js自定义静态资源目录
按照官方要求copy-webpack-plugin用5.0.0的版本(不用5.0.0的话,会报错,忘了截图)

npm install -save copy-webpack-plugin@5.0.0

把wxcomponents真个文件夹放到sub_package下
在项目根目录创建vue.config.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也要改下引入的路径

"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路径上的问题,本来是这样的

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下,要完整的设置路径


http://www.niftyadmin.cn/n/5232292.html

相关文章

Deckerfile

1.简介 dockerfile 是 docker 镜像构建文件。包含用于构建 docker 镜像的指令和配置。通过Dockerfile可以自动化地构建Docker镜像,实现快速、一致和可重复的部署。是由一条条构建镜像所需的指令和参数构成的脚本。指令按照从上到下,顺序执行&#xff0c…

WordPress采集器自动采集发布的工具

WordPress作为最受欢迎的内容管理系统之一,其强大的功能和灵活性使其成为许多网站、博客和电子商务平台的首选。WordPress采集器自动采集发布内置采集规则是一项备受关注的功能,让用户可以轻松收集并发布内容。WordPress采集器自动采集发布内置采集规则的…

Selenium+Python自动化测试之验证码处理

两种方式: 验证码识别技术 (很难达到100%) 添加Cookie (*****五星推荐) 方式一:验证码识别技术 逻辑方式: 1:打开验证码所在页面,截图。获取验证码元素坐标,剪切出验证码图片&…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑碳排放分摊的综合能源服务商交易策略》

这篇文章的标题表明它将讨论一个关于综合能源服务商交易策略的主题,而在这个策略中,特别考虑了碳排放分摊的因素。以下是对标题中各关键词的解读: 综合能源服务商: 这指的是在能源领域提供多种服务的企业或组织,可能涵…

代数学笔记8: Sylow定理

Sylow定理 ∣ G ∣ p r ⋅ m |G|p^r\cdot m ∣G∣pr⋅m, ( m , p ) 1 (m,p)1 (m,p)1, 则 G G G中必有 p r p^r pr阶子群. 证明: 应用 例子: 15阶群必定是循环群. 因为 15 3 5 153\times 5 1535, 所以15阶群有 3 3 3阶群或 5 5 5阶群, 设3阶群有 n 3 n_3 n3​个, 5阶群有…

JS 实现一键复制文本内容

1、演示&#xff1a; 2、代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>一键复制</title&g…

泛型和Object的区别

什么时候使用 泛型&#xff1a;只要确定了用哪类对象&#xff0c;并且用到这个对象里的方法。选择泛型&#xff0c;泛型更加精确&#xff0c;只要用到Object的地方基本都能用泛型代替。Object类&#xff1a;Object是所有类的父类&#xff0c;更加笼统&#xff0c;且只能使用固…

图表控件LightningChart .NET中文教程 - 如何创建WPF 2D热图?(二)

LightningChart.NET完全由GPU加速&#xff0c;并且性能经过优化&#xff0c;可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D&#xff0c;高级3D&#xff0c;Polar&#xff0c;Smith&#xff0c;3D饼/甜甜圈&#xff0c;地理地图和GIS图表以及适用于科学…