uni-app小程序超2M分包加载

uni-app如何分包:
微信官方要求小程序单包不能超过2M/主包,整包不能超8M,如果我们不做分包处理是无法正常上传到微信平台的,所以这里我针对做了以下分包。

****** 注意vue2和vue3之间的区别 ******

1.页面分包
分包加载配置,此配置为小程序的分包加载机制。在App里始终为整包。
在这里插入图片描述
我用的开发工具是vsCode,所以按照最后面的方案配置,找到根目录下的package.json文件,在build:mp-weixin 添加"–minimize"参数,如下图:
在这里插入图片描述
然后找到根目录下的pages.json配置你的分包,如下图:
在这里插入图片描述
切记一条,如果你的项目是要实现tabBar底部导航的,tab的页面一定要放在pages下面,不能放分包下面去注册
到这里就完成了页面的分包操作

2.图片分包
如果我们图片放在根目录的static下面的话,打包的时候是直接打包到我们的主包下面,这样主包的负荷就会非常大,我们项目相对大一点的时候,图片也是非常占据资源的,所以这里也做一个分包处理。

先创建一个图片文件夹,命名按需求,图片下面的分包图片必须和你分包的页面名称一致,如下图:
在这里插入图片描述

vue2

接下来配置图片的打包设置,先在根目录下创建一个vue.config.js文件,如下图:
在这里插入图片描述

附上vue.config.js内容:

const path = require('path')
const CopyWebpackPlugin = require('copy-webpack-plugin')
module.exports = {
    configureWebpack: {
        plugins: [
            new CopyWebpackPlugin({
                patterns: [{
                    from: path.join(__dirname, '/src/images'),
                    to: path.join(__dirname + '/dist/', process.env.NODE_ENV === 'production' ? 'build' : 'dev', process.env.UNI_PLATFORM, '/')
                }],
            }),
        ],
    }
}

vue3

如果你使用的是vue3版本的uniapp,那么根目录下面会有个vite.config配置文件,无需再创建一个vue.config.js文件,直接在vite.config.js下配置import fs from ‘fs-extra’;插件。
在这里插入图片描述
附上vite.config.js内容:

import { defineConfig } from 'vite'
import uni from '@dcloudio/vite-plugin-uni'
const path = require('path')
import fs from 'fs-extra';
function copyFile() {
	return {
		enforce: 'post',
		async writeBundle() {
			await fs.copy(
        path.join(__dirname, 'src/images/'),
        path.join(__dirname, '/dist/', process.env.NODE_ENV === 'production' ? 'build' : 'dev', process.env.UNI_PLATFORM, '/')
			);
		},
	};
}

export default defineConfig({
  plugins: [
    uni(),
    copyFile()
  ],
})

接下来在控制台输入 npm install copy-webpack-plugin添加插件到自己的项目下。
如果你用的不是vsCode,就根据箭头的位置修改你对应的文件目录路径。
接下来我们可以在开发工具上查看到,图片已经打包到分包下了,图片分包就搞定了。
在这里插入图片描述
补充一下,如果通用的图片,建议直接放根目录的static下调用

结束语: 可加微信进学习互帮互助群 Benjamin19950304

UniApp中, LimeCharts是一个用于数据可视化的小程序组件库,它可以方便地在Vue3项目中创建各种图表。如果你想要将LimeCharts作为分包引入到uni-app项目中,以减小初始加载大小并提高性能,可以按照以下步骤操作: 1. **安装依赖**: 在你的uni-app项目的`pages`文件夹下的某个需要使用图表的组件里,通过运行命令`npm install lime-charts` 或者 `yarn add lime-charts` 来安装LimeCharts。 2. **注册分包**: 在`uni-app.config.js` 文件中,添加LimeCharts的分包信息,示例如下: ```javascript export default { //... splitChunks: { cacheGroups: { common: { name: 'common', test: /[\\/]node_modules[\\/]/, priority: -10, chunks: 'all' }, vendor: { name: 'vendor', test: /(@lime\/charts)/, priority: -90, // 尽可能低的优先级,保证常用模块先打包 chunks: 'initial' } } } }; ``` 3. **引用组件**: 在你需要使用图表的组件 `.vue` 文件中,导入和使用LimeCharts组件,通常会放在`<template>`标签之外: ```html <script setup> import { createChart } from '@lime/charts'; // 使用import语法,因为已经在配置中注册了分包 const chartData = ...; // 初始化图表的数据 const myChart = createChart('your-chart-id', chartData); // 创建图表实例 </script> ``` 4. **打包构建**: 确保在构建项目时启用按需加载(`npm run build --mode app-plus`),这将会把LimeCharts单独打包成一个文件,只在实际使用的页面中加载
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值