Files
vue3/vite.config.ts
2023-08-30 16:46:10 +08:00

77 lines
1.8 KiB
TypeScript

/*
* @Author: zhaojinfeng 121016171@qq.com
* @Date: 2023-06-15 13:22:04
* @LastEditors: peerless_hero peerless_hero@outlook.com
* @LastEditTime: 2023-08-30 16:30:47
* @FilePath: \vue3\vite.config.ts
* @Description:
*
*/
import { URL, fileURLToPath } from 'node:url'
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 eslint from 'vite-plugin-eslint'
import Components from 'unplugin-vue-components/vite'
import setupExtend from 'vite-plugin-vue-setup-extend'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
// https://vitejs.dev/config/
export default defineConfig({
build: {
rollupOptions: {
external: ['vue', /\.sass/], // 排除三方包
output: {
globals: {
vue: 'Vue',
},
},
},
},
resolve: {
alias: {
'~': fileURLToPath(new URL('./packages', import.meta.url)),
'@': fileURLToPath(new URL('./packages', import.meta.url)),
},
},
plugins: [
vue({ reactivityTransform: true }),
vueJsx(),
// libCss({}),
AutoImport({
resolvers: [
ElementPlusResolver(),
],
dts: 'types/auto-imports.d.ts',
imports: [
'vue',
'vue/macros',
'vue-router',
'@vueuse/core',
{
vue: ['createVNode'],
},
],
vueTemplate: true,
}),
Components({
dts: 'types/components.d.ts',
dirs: 'packages',
types: [
{
from: 'vue-router',
names: ['RouterLink', 'RouterView'],
},
],
directoryAsNamespace: true,
resolvers: [
ElementPlusResolver(),
],
}),
setupExtend(),
eslint(),
],
})