import { resolve } from 'path'; import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; import vueJsx from '@vitejs/plugin-vue-jsx'; import svgLoader from 'vite-svg-loader'; import configArcoStyleImportPlugin from './plugin/arcoStyleImport'; import AutoImport from 'unplugin-auto-import/vite'; import Components from 'unplugin-vue-components/vite'; import { TDesignResolver } from 'unplugin-vue-components/resolvers'; import { ArcoResolver } from 'unplugin-vue-components/resolvers'; import htmlPlugin from "vite-plugin-html-config"; export default defineConfig({ base: './', plugins: [ vue(), vueJsx(), svgLoader({ svgoConfig: {} }), configArcoStyleImportPlugin(), AutoImport({ resolvers: [TDesignResolver({ library: 'vue-next' })], }), Components({ resolvers: [TDesignResolver({ library: 'vue-next' }), ArcoResolver()], }), htmlPlugin({ metas: [ { name: "builtTime", content: Math.ceil(parseInt(new Date().toISOString().replace(/[.:TZ-]/g, '')) / 1000).toString() }, ] }) ], resolve: { alias: [ { find: '@', replacement: resolve(__dirname, '../src'), }, { find: 'assets', replacement: resolve(__dirname, '../src/assets'), }, { find: 'vue-i18n', replacement: 'vue-i18n/dist/vue-i18n.cjs.js', // Resolve the i18n warning issue }, { find: 'vue', replacement: 'vue/dist/vue.esm-bundler.js', // compile template }, ], extensions: ['.ts', '.js', '.css'], }, define: { 'process.env': {}, }, css: { preprocessorOptions: { less: { modifyVars: { hack: `true; @import (reference) "${resolve( 'src/assets/style/breakpoint.less' )}";`, }, javascriptEnabled: true, }, }, }, });