需求背景
目前 build.assetsInlineLimit 仅 h5 支持,需要增加对微信小程序端的支持
需求目的
开发者可以通过 vite 插件统一对资源路径进行管理,例如:env.a 环境使用 cdn1,env.b 环境使用 cdn2
目前问题
// vite.config.ts
import VitePluginUniCdn from '@cnguu/vite-plugin-uni-cdn'
import Uni from '@dcloudio/vite-plugin-uni'
import { defineConfig } from 'vite'
export default defineConfig({
plugins: [
VitePluginUniCdn({
cdn: 'https://cdn.jsdelivr.net/gh/cnguu/vite-plugin-uni-cdn@main/packages/playground/src/static/cdn',
sourceDir: 'src/static/cdn',
}),
Uni(),
],
build: {
// 微信端仍然会被转换成 base64,导致插件无法找到路径进行替换
assetsInlineLimit: 0,
},
})
<script setup lang="ts">
// index.vue
</script>
<template>
<view class="bg-image" />
</template>
<style lang="scss">
@import "index";
</style>
// index.scss
.bg-image {
width: 200rpx;
height: 200rpx;
background-image: url("/static/cdn/3.png");
background-position: center;
background-repeat: no-repeat;
}
moobbit (作者)
hbx项目可以,cli项目不行
2026-01-06 14:36