90 lines
2.4 KiB
TypeScript
90 lines
2.4 KiB
TypeScript
import { defineConfig, loadEnv } from 'vite'
|
|
import vue from '@vitejs/plugin-vue'
|
|
|
|
import path from 'path'
|
|
|
|
import AutoImport from 'unplugin-auto-import/vite'
|
|
import Components from 'unplugin-vue-components/vite'
|
|
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
|
|
|
|
import Icons from 'unplugin-icons/vite'
|
|
import IconsResolver from 'unplugin-icons/resolver'
|
|
|
|
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
|
|
|
|
import { viteMockServe } from 'vite-plugin-mock'
|
|
// 引入 fs 模块
|
|
// import fs from 'fs'
|
|
// const fs = require('fs');
|
|
// https://vitejs.dev/config/
|
|
export default defineConfig(({ command, mode }) => {
|
|
const env = loadEnv(mode, process.cwd())
|
|
|
|
return {
|
|
plugins: [
|
|
vue(),
|
|
AutoImport({
|
|
resolvers: [
|
|
ElementPlusResolver(),
|
|
IconsResolver({
|
|
prefix: 'Icon',
|
|
}),
|
|
],
|
|
}),
|
|
Components({
|
|
resolvers: [
|
|
ElementPlusResolver({importStyle:"sass"}),
|
|
IconsResolver({
|
|
enabledCollections: ['ep'],
|
|
}),
|
|
],
|
|
}),
|
|
Icons({
|
|
autoInstall: true,
|
|
}),
|
|
createSvgIconsPlugin({
|
|
// Specify the icon folder to be cached
|
|
iconDirs: [path.resolve(process.cwd(), 'src/assets/icons/default'), path.resolve(process.cwd(), 'src/assets/icons/bosch')],
|
|
// Specify symbolId format
|
|
symbolId: 'icon-[dir]-[name]',
|
|
}),
|
|
viteMockServe({
|
|
localEnabled: command === 'serve',
|
|
}),
|
|
],
|
|
resolve: {
|
|
alias: {
|
|
'@': path.resolve('./src'), // 相对路径别名配置,使用 @ 代替 src
|
|
},
|
|
},
|
|
css: { //配置全局scss
|
|
preprocessorOptions: {
|
|
scss: {
|
|
quietDeps: true,
|
|
logger: {
|
|
warn: () => {}
|
|
},
|
|
javascriptEnabled: true,
|
|
// additionalData: `@use "@/styles/element/index.scss" as *;`,
|
|
},
|
|
},
|
|
},
|
|
// 代理跨域
|
|
server: {
|
|
// https: {
|
|
// key: fs.readFileSync('./cert.key'), // 证书密钥路径
|
|
// cert: fs.readFileSync('./cert.crt') // 证书文件路径
|
|
// },
|
|
host: '0.0.0.0',
|
|
proxy: {
|
|
[env.VITE_APP_BASE_API]: {
|
|
target: env.VITE_SERVE,
|
|
changeOrigin: true,
|
|
rewrite: (path) =>
|
|
path.replace(new RegExp(`^${env.VITE_APP_BASE_API}`), ''),
|
|
},
|
|
},
|
|
},
|
|
}
|
|
})
|