AIoT前端公共UI

vite.config.ts 2.2KB

    /* * @Author: Devin * @Date: 2023-01-11 16:29:53 * @LastEditors: Devin * @LastEditTime: 2023-02-22 10:44:35 * @Description: 配置文件 */ import { defineConfig } from 'vite'; import eslintPlugin from 'vite-plugin-eslint'; import { resolve } from 'path'; import AutoImport from 'unplugin-auto-import/vite'; import Components from 'unplugin-vue-components/vite'; import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'; import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'; import viteCompression from 'vite-plugin-compression'; import vue from '@vitejs/plugin-vue'; // https://vitejs.dev/config/ export default defineConfig({ plugins: [ vue(), eslintPlugin({ include: [ 'packages/**/*.js', 'packages/**/*.vue', 'packages/**/*.jsx', 'packages/**/*.ts' ], // exclue: ['./node_modules/**'], cache: false }), createSvgIconsPlugin({ iconDirs: [resolve(process.cwd(), 'packages/assets/icons')], svgoOptions: true, // Specify symbolId format symbolId: 'icon-[dir]-[name]' }), AutoImport({ resolvers: [ElementPlusResolver()] }), Components({ resolvers: [ElementPlusResolver({ importStyle: 'sass' })] }), viteCompression({ verbose: true, disable: false, threshold: 102400, algorithm: 'gzip', ext: '.gz' }) ], css: { preprocessorOptions: { scss: { additionalData: `@use "@/assets/css/variable.scss";` } } }, resolve: { // alias: { // '@': path.resolve(__dirname, 'src') // } alias: [ { find: '@', replacement: resolve('packages') } ] }, server: { open: true, // headers: { // 'Access-Control-Allow-Origin': '*' // }, origin: 'http://localhost:8888', host: '0.0.0.0', port: 8888, proxy: {} }, build: { outDir: 'lib', lib: { entry: './packages/index.ts', name: 'common-ui' // fileName: (format) => `common-ui.${format}.js`, // 输出文件名 // formats: ['es', 'umd'] }, rollupOptions: { external: ['vue'], output: { globals: { vue: 'Vue' } } } } });