【uniapp】小程序端实现分包异步化

背景

微信小程序、支付宝小程序、抖音小程序等支持 占位组件,但是 uniapp 只支持在 pages.json 下的页面中配置 componentPlaceholder, 并不支持在某个具体的组件中添加此配置,于是我写了 github.com/chouchouji/... 解决此问题。

特性

  • 配置简单,开箱即用
  • 支持 vue、nvue、uvue 三种文件
  • 支持 uni-app 和 uni-app-x 项目
  • 支持 组合式 和 选项式 两种写法

使用指南

安装

shell 复制代码
// npm
npm i @binbinji/vite-plugin-component-placeholder -D

// yarn
yarn add @binbinji/vite-plugin-component-placeholder -D

// pnpm
pnpm add @binbinji/vite-plugin-component-placeholder -D

引入插件

javascript 复制代码
// vite.config.*
import componentPlaceholderPlugin from '@binbinji/vite-plugin-component-placeholder'
import uni from '@dcloudio/vite-plugin-uni'
import { defineConfig } from 'vite'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [uni(), componentPlaceholderPlugin()],
})

在 vue/nuve/uvue 文件中添加配置

在 vue 相关文件中添加 componentPlaceholder 配置

组合式文件
vue 复制代码
<template>
  <view>test page</view>
  <test></test>
</template>

<script setup>
import test from './test.vue'

defineOptions({
  componentPlaceholder: {
    test: 'view',
  },
})
</script>
选项式文件
vue 复制代码
<template>
  <view>test page</view>
  <test></test>
</template>

<script>
import test from './test.vue'

export default {
  componentPlaceholder: {
    test: 'view',
  },
}
</script>
相关推荐
用户960819842234 小时前
多周期联看时十字光标对不齐:前端排查「时间桶」的三步清单
前端
Data analyse4565 小时前
数据合规的敏感数据怎么识别?
前端·人工智能·数据分析
陪我一起学编程5 小时前
vue3笔记
前端·webpack·vue3·vite·脚手架·vue3笔记·组件式
object not found5 小时前
WooCommerce 接入 KPay 后订单完成页不显示订单信息:returnUrl 动态参数问题解决
前端·wordpress·独立站支付
yume_sibai6 小时前
04-Nginx部署实战完全指南(前端部署 + 后端代理 + 监控告警 + 故障排查)
运维·前端·nginx
data analyse 4566 小时前
数据合规的同意记录怎么留存?
前端·人工智能·数据分析
linux_cfan6 小时前
videojs v10 源代码系列解读:35 · HLS 解析器:multivariant 与 media playlist
前端·javascript·音视频
IT_陈寒6 小时前
Redis键过期失效?这个坑我踩得明明白白
前端·人工智能·后端
web打印社区6 小时前
汽修 / 4S 店:维修工单、结算单网页怎么静默出纸
开发语言·前端·javascript·chrome·ecmascript