我正在使用Vite构建一个Ionic React app,它有三个版本:
- iOS
- 安卓系统
- PWA
我使用vite-plugin-compression2来gzip PWA文件。
下面是我的vite.config.ts
:
plugins: [
eslint(),
compression({
algorithm: 'gzip',
exclude: [/\.(br)$ /, /\.(gz)$/],
}),
// Deleting the originals will break the PWA because index.html gets deleted.
compression({
algorithm: 'brotliCompress',
exclude: [/\.(br)$ /, /\.(gz)$/],
deleteOriginalAssets: false,
}),
问题是,这种压缩会破坏我的Android构建,因为Android的gradle
试图压缩已经压缩的文件,这会导致duplicate resources
错误并中止构建。
所以我想应用的PWA和iOS的压缩插件,但不适用于Android.我该怎么做?
Vite文档描述了构建/服务插件的条件应用,但我需要两种不同的构建方式的条件应用。
1条答案
按热度按时间8zzbczxx1#
我通过添加一个环境变量
VITE_BUILD_PWA
解决了这个问题。