init
This commit is contained in:
13
build/vite/plugins/autoImport.ts
Normal file
13
build/vite/plugins/autoImport.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
/**
|
||||
* @name AutoImportDeps
|
||||
* @description 按需加载,自动引入
|
||||
*/
|
||||
import AutoImport from 'unplugin-auto-import/vite';
|
||||
|
||||
export const AutoImportDeps = () => {
|
||||
return AutoImport({
|
||||
imports: ['vue', 'uni-app', 'pinia'],
|
||||
dts: 'types/auto-imports.d.ts',
|
||||
vueTemplate: true,
|
||||
});
|
||||
};
|
11
build/vite/plugins/component.ts
Normal file
11
build/vite/plugins/component.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
/**
|
||||
* @name AutoRegistryComponents
|
||||
* @description 按需加载,自动引入
|
||||
*/
|
||||
import Components from 'unplugin-vue-components/vite';
|
||||
|
||||
export const AutoRegistryComponents = () => {
|
||||
return Components({
|
||||
dts: 'types/components.d.ts',
|
||||
});
|
||||
};
|
36
build/vite/plugins/imagemin.ts
Normal file
36
build/vite/plugins/imagemin.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
/**
|
||||
* @name ConfigImageminPlugin
|
||||
* @description 图片压缩配置
|
||||
*/
|
||||
import viteImagemin from 'vite-plugin-imagemin';
|
||||
|
||||
export const ConfigImageminPlugin = () => {
|
||||
const plugin = viteImagemin({
|
||||
gifsicle: {
|
||||
optimizationLevel: 7,
|
||||
interlaced: false,
|
||||
},
|
||||
mozjpeg: {
|
||||
quality: 20,
|
||||
},
|
||||
optipng: {
|
||||
optimizationLevel: 7,
|
||||
},
|
||||
pngquant: {
|
||||
quality: [0.8, 0.9],
|
||||
speed: 4,
|
||||
},
|
||||
svgo: {
|
||||
plugins: [
|
||||
{
|
||||
name: 'removeViewBox',
|
||||
},
|
||||
{
|
||||
name: 'removeEmptyAttrs',
|
||||
active: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
});
|
||||
return plugin;
|
||||
};
|
30
build/vite/plugins/index.ts
Normal file
30
build/vite/plugins/index.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* @name createVitePlugins
|
||||
* @description 封装plugins数组统一调用
|
||||
*/
|
||||
import type { PluginOption } from 'vite';
|
||||
import uniPlugin from '@dcloudio/vite-plugin-uni';
|
||||
import { AutoImportDeps } from './autoImport';
|
||||
import { AutoRegistryComponents } from './component';
|
||||
import { ConfigUnoCSSPlugin } from './unocss';
|
||||
import { ConfigImageminPlugin } from './imagemin';
|
||||
|
||||
export default function createVitePlugins(isBuild: boolean) {
|
||||
const vitePlugins: (PluginOption | PluginOption[])[] = [
|
||||
// UnoCSS配置
|
||||
ConfigUnoCSSPlugin(),
|
||||
// 自动按需引入依赖
|
||||
AutoImportDeps(),
|
||||
// 自动按需引入组件(注意:需注册至 uni 之前,否则不会生效)
|
||||
AutoRegistryComponents(),
|
||||
// uni支持
|
||||
uniPlugin(),
|
||||
];
|
||||
|
||||
if (isBuild) {
|
||||
// vite-plugin-imagemin
|
||||
vitePlugins.push(ConfigImageminPlugin());
|
||||
}
|
||||
|
||||
return vitePlugins;
|
||||
}
|
9
build/vite/plugins/unocss.ts
Normal file
9
build/vite/plugins/unocss.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
/**
|
||||
* @name ConfigUnoCSSPlugin
|
||||
* @description UnoCSS相关配置
|
||||
*/
|
||||
import UnoCSS from 'unocss/vite';
|
||||
|
||||
export const ConfigUnoCSSPlugin = () => {
|
||||
return UnoCSS();
|
||||
};
|
Reference in New Issue
Block a user