123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- import path from 'path'
- import { defineConfig } from 'vite'
- import vue from '@vitejs/plugin-vue'
- import vueJsx from '@vitejs/plugin-vue-jsx'
- import AutoImport from 'unplugin-auto-import/vite'
- import Components from 'unplugin-vue-components/vite'
- import Icons from 'unplugin-icons/vite'
- import deletePlugin from 'rollup-plugin-delete'
- import basicSsl from '@vitejs/plugin-basic-ssl'
- import Unocss from 'unocss/vite'
- import { PrimeVueResolver } from '@primevue/auto-import-resolver'
- // https://vitejs.dev/config/
- export default ({ mode, command }) => {
- // const env = loadEnv(mode, process.cwd())
- return defineConfig({
- base: '/background/',
- build: {
- outDir: 'dist',
- sourcemap: false,
- minify: true,
- emptyOutDir: true,
- rollupOptions: {
- output: {
- chunkFileNames: 'js/[hash].js',
- entryFileNames: 'js/[hash].js',
- assetFileNames: (assetsFile) => {
- if (/\.(vue|scss)$/i.test(assetsFile.name)) {
- return 'del/[name]-[hash].[ext]'
- } else {
- return 'static/[hash].[ext]'
- }
- }
- }
- }
- },
- plugins: [
- vue(),
- vueJsx(),
- basicSsl(),
- Unocss({}),
- AutoImport({
- imports: [
- 'vue',
- 'vue-router',
- 'pinia',
- '@vueuse/core',
- {
- '@/api': ['useRequest']
- },
- {
- '@/locales': ['useI18n', 'locale']
- }
- ],
- eslintrc: {
- enabled: false, // Default `false`
- filepath: './.eslintrc-auto-import.json', // Default `./.eslintrc-auto-import.json`
- globalsPropValue: true // Default `true`, (true | false | 'readonly' | 'readable' | 'writable' | 'writeable')
- }
- }),
- Components({
- dirs: ['src/components'],
- dts: false,
- resolvers: [PrimeVueResolver()],
- include: [/\.vue$/, /\.vue\?vue/, /\.jsx$/]
- }),
- Icons({
- compiler: 'vue3'
- }),
- deletePlugin({
- targets: ['dist/del'],
- hook: 'writeBundle'
- })
- ],
- resolve: {
- alias: {
- '@': path.resolve(__dirname, 'src'),
- assets: path.resolve(__dirname, 'src/assets'),
- util: path.resolve(__dirname, 'src/util'),
- views: path.resolve(__dirname, 'src/views'),
- layout: path.resolve(__dirname, 'src/layout'),
- 'vue-i18n': 'vue-i18n/dist/vue-i18n.cjs.js'
- }
- },
- preprocessorOptions: {
- scss: {
- // additionalData: `@import "@/assets/base.scss";`
- }
- },
- define: {
- __DEV__: mode === 'development',
- __TEST__: mode === 'test'
- }
- // server:{
- // proxy:{
- // '/alarm':{
- // target: 'https://127.0.0.1',
- // changeOrigin: true,
- // rewrite: (path) => path.replace(/^api/, ''),
- // }
- // }
- // }
- })
- }
|