79 lines
1.8 KiB
TypeScript
79 lines
1.8 KiB
TypeScript
/*
|
|
* @Author: zhaojinfeng 121016171@qq.com
|
|
* @Date: 2023-06-15 13:22:04
|
|
* @LastEditors: zhaojinfeng 121016171@qq.com
|
|
* @LastEditTime: 2023-07-21 04:29:57
|
|
* @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 libCss from 'vite-plugin-libcss'
|
|
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'],
|
|
'element-plus': ['dayjs'],
|
|
},
|
|
],
|
|
vueTemplate: true,
|
|
}),
|
|
Components({
|
|
dts: 'types/components.d.ts',
|
|
dirs: 'packages',
|
|
types: [
|
|
{
|
|
from: 'vue-router',
|
|
names: ['RouterLink', 'RouterView'],
|
|
},
|
|
],
|
|
directoryAsNamespace: true,
|
|
resolvers: [
|
|
ElementPlusResolver(),
|
|
],
|
|
}),
|
|
setupExtend(),
|
|
eslint(),
|
|
],
|
|
})
|