refactor(projects): 代码优化

This commit is contained in:
Soybean
2022-04-27 19:01:54 +08:00
parent e8488e4d52
commit a782461453
20 changed files with 174 additions and 138 deletions

View File

@ -0,0 +1,6 @@
import ViteCompression from 'vite-plugin-compression';
export default (viteEnv: ImportMetaEnv) => {
const { VITE_COMPRESS_TYPE = 'gzip' } = viteEnv;
return ViteCompression({ algorithm: VITE_COMPRESS_TYPE });
};

View File

@ -1,10 +1,7 @@
import { loadEnv } from 'vite';
import type { ConfigEnv, PluginOption } from 'vite';
import type { PluginOption } from 'vite';
import { createHtmlPlugin } from 'vite-plugin-html';
export default (config: ConfigEnv): PluginOption[] => {
const viteEnv = loadEnv(config.mode, process.cwd());
export default (viteEnv: ImportMetaEnv): PluginOption[] => {
return createHtmlPlugin({
minify: true,
inject: {

View File

@ -1,28 +1,26 @@
import type { ConfigEnv, PluginOption } from 'vite';
import type { PluginOption } from 'vite';
import vue from './vue';
import vueJsx from './jsx';
import html from './html';
import autoImport from './auto-import';
import unplugin from './unplugin';
import unocss from './unocss';
import mock from './mock';
import visualizer from './visualizer';
import compress from './compress';
/**
* vite插件
* @param configEnv - 环境
* @param srcPath - src路径
* @param viteEnv - 环境变量配置
* @param srcPath - src路径
*/
export function setupVitePlugins(
configEnv: ConfigEnv,
srcPath: string,
viteEnv: ImportMetaEnv
): (PluginOption | PluginOption[])[] {
const plugins = [vue, vueJsx, html(configEnv), ...autoImport(srcPath), unocss, mock];
export function setupVitePlugins(viteEnv: ImportMetaEnv, srcPath: string): (PluginOption | PluginOption[])[] {
const plugins = [...vue, html(viteEnv), ...unplugin(srcPath), unocss, mock];
if (configEnv.command === 'build' && viteEnv.VITE_VISUALIZER === 'true') {
if (viteEnv.VITE_VISUALIZER === 'true') {
plugins.push(visualizer);
}
if (viteEnv.VITE_COMPRESS === 'true') {
plugins.push(compress(viteEnv));
}
return plugins;
}

View File

@ -1,3 +0,0 @@
import vueJsx from '@vitejs/plugin-vue-jsx';
export default vueJsx();

View File

@ -1,3 +1,4 @@
import DefineOptions from 'unplugin-vue-define-options/vite';
import Icons from 'unplugin-icons/vite';
import IconsResolver from 'unplugin-icons/resolver';
import Components from 'unplugin-vue-components/vite';
@ -6,6 +7,7 @@ import { FileSystemIconLoader } from 'unplugin-icons/loaders';
export default (srcPath: string) => {
return [
DefineOptions(),
Icons({
compiler: 'vue3',
customCollections: {

View File

@ -2,5 +2,6 @@ import { visualizer } from 'rollup-plugin-visualizer';
export default visualizer({
gzipSize: true,
brotliSize: true
brotliSize: true,
open: true
});

View File

@ -1,3 +1,6 @@
import vue from '@vitejs/plugin-vue';
import vueJsx from '@vitejs/plugin-vue-jsx';
export default vue({});
const plugins = [vue(), vueJsx()];
export default plugins;