代码拉取完成,页面将自动刷新
同步操作将从 于心/koi-ui 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import { defineConfig, loadEnv, ConfigEnv, UserConfig } from "vite";
import vue from "@vitejs/plugin-vue";
// keepAlive 组件name
import vueSetupExtend from "vite-plugin-vue-setup-extend";
// 引入svg需要的插件
import { createSvgIconsPlugin } from "vite-plugin-svg-icons";
import Unocss from "unocss/vite";
// 数据mock配置
import { viteMockServe } from "vite-plugin-mock";
// gzip压缩
import viteCompression from "vite-plugin-compression";
import path from "path";
// https://vitejs.dev/config/
// 配置mock根据官网,这里写法将改成箭头函数
export default defineConfig(({ command, mode }: ConfigEnv): UserConfig => {
const env = loadEnv(mode, process.cwd()); // 获取配置文件别名配置
return {
plugins: [
vue(),
Unocss(),
vueSetupExtend(),
viteCompression(),
createSvgIconsPlugin({
// 配置SVG图片
iconDirs: [path.resolve(process.cwd(), "src/assets/icons")],
symbolId: "icon-[dir]-[name]"
}),
// 配置mock
viteMockServe({
// 解析根目录下的mock文件夹
mockPath: "mock",
// @ts-ignore
localEnabled: command === "serve", // 保证开发阶段可以使用mock接口
supportTs: true, // 打开后,可以读取 ts 文件模块。 请注意,打开后将无法监视.js 文件。
watchFiles: true // 监视文件更改 更改mock的时候,不需要重新启动编译
})
],
resolve: {
// 配置路径别名
alias: {
"@": path.resolve("./src"), // 相对路径别名配置,使用 @ 代替 src
"~": path.resolve("./src")
}
},
css: {
// css全局变量使用,@/styles/variable.scss文件
preprocessorOptions: {
scss: {
javascriptEnabled: true,
additionalData: '@import "./src/styles/variable.scss";'
}
}
},
server: {
host: "localhost", // 配置localhost、本机IP地址
port: 5730, // 端口号
hmr: true, // 热更新
open: true, // 自动打开
proxy: {
// 代理跨域
[env.VITE_WEB_BASE_API]: {
// 配置哪个环境下的
target: env.VITE_SERVER,
rewrite: path => path.replace(new RegExp("^" + env.VITE_WEB_BASE_API), ""), // 路径重写,例如:将路径中包含dev-api字段替换为空。注意:只有请求真实后端接口才会有用,使用mock接口还是得带koi
// 允许跨域
changeOrigin: true
}
}
},
esbuild: {
// 在生产环境全部去除console 和 debugger
drop: env.VITE_DROP_CONSOLE.length < 5 ? ["console", "debugger"] : []
},
// 预编译,增加访问速度,针对node_modules
optimizeDeps: {
include: [
"vue",
"vue-router",
"pinia",
"axios",
"@vueuse/core",
"echarts",
"vue-i18n",
"element-plus/es/components/text/style/css",
"element-plus/es/components/collapse-item/style/css",
"element-plus/es/components/collapse/style/css",
"element-plus/es/components/space/style/css",
"element-plus/es/components/container/style/css",
"element-plus/es/components/aside/style/css",
"element-plus/es/components/main/style/css",
"element-plus/es/components/header/style/css",
"element-plus/es/components/button-group/style/css",
"element-plus/es/components/radio-button/style/css",
"element-plus/es/components/checkbox-group/style/css",
"element-plus/es/components/form/style/css",
"element-plus/es/components/form-item/style/css",
"element-plus/es/components/button/style/css",
"element-plus/es/components/input/style/css",
"element-plus/es/components/input-number/style/css",
"element-plus/es/components/switch/style/css",
"element-plus/es/components/upload/style/css",
"element-plus/es/components/menu/style/css",
"element-plus/es/components/col/style/css",
"element-plus/es/components/icon/style/css",
"element-plus/es/components/row/style/css",
"element-plus/es/components/tag/style/css",
"element-plus/es/components/dialog/style/css",
"element-plus/es/components/loading/style/css",
"element-plus/es/components/radio/style/css",
"element-plus/es/components/radio-group/style/css",
"element-plus/es/components/popover/style/css",
"element-plus/es/components/scrollbar/style/css",
"element-plus/es/components/tooltip/style/css",
"element-plus/es/components/dropdown/style/css",
"element-plus/es/components/dropdown-menu/style/css",
"element-plus/es/components/dropdown-item/style/css",
"element-plus/es/components/sub-menu/style/css",
"element-plus/es/components/menu-item/style/css",
"element-plus/es/components/divider/style/css",
"element-plus/es/components/card/style/css",
"element-plus/es/components/link/style/css",
"element-plus/es/components/breadcrumb/style/css",
"element-plus/es/components/breadcrumb-item/style/css",
"element-plus/es/components/table/style/css",
"element-plus/es/components/tree-select/style/css",
"element-plus/es/components/table-column/style/css",
"element-plus/es/components/select/style/css",
"element-plus/es/components/option/style/css",
"element-plus/es/components/pagination/style/css",
"element-plus/es/components/tree/style/css",
"element-plus/es/components/alert/style/css",
"element-plus/es/components/checkbox/style/css",
"element-plus/es/components/date-picker/style/css",
"element-plus/es/components/transfer/style/css",
"element-plus/es/components/tabs/style/css",
"element-plus/es/components/image/style/css",
"element-plus/es/components/tab-pane/style/css"
]
}
};
});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。