【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>
相关推荐
NMBG221 分钟前
外卖综合项目
java·前端·spring boot
小白阿龙1 分钟前
样式不生效/被覆盖(CSS优先级陷阱)
前端·css
Beginner x_u5 分钟前
Vue 事件机制全面解析:原生事件、自定义事件与 DOM 冒泡完全讲透
前端·javascript·vue.js·dom
Emma_Maria5 分钟前
关于vant-ui-vue 的datepicker 时间选择错乱问题的处理
前端·vue.js·ui
Dabei10 分钟前
Android 语音助手简单实现与语音助手“执行任务”交流
android·前端
dongczlu12 分钟前
iOS 循环引用篇 菜鸟都能看懂
前端
Alsn8614 分钟前
26.IDEA 专业版中创建简单的 Web 项目并打包部署到本地Tomcat 9
前端·tomcat·intellij-idea
霍理迪15 分钟前
HTML行内块标签——img、表单、音视频标签
前端·html
小小前端_我自坚强16 分钟前
边缘函数 (Edge Functions)详解
前端
咸虾米_17 分钟前
开发uniapp前端通用价格组件提交到DCloud插件市场
uni-app·商城·开发插件·dcloud插件市场·扩展组件