代码拉取完成,页面将自动刷新
import { defineConfig, loadEnv } from "vite";
import vue from "@vitejs/plugin-vue";
// vue 自动导入
import AutoImport from "unplugin-auto-import/vite";
import Components from "unplugin-vue-components/vite";
import path from "path";
const resolve = (dir) => path.resolve(__dirname, dir);
import UnoCSS from "unocss/vite";
import { createSvgIconsPlugin } from "vite-plugin-svg-icons";
import Icons from "unplugin-icons/vite";
import IconsResolver from "unplugin-icons/resolver";
import { presetUno, presetAttributify, presetIcons } from "unocss";
// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
// 获取当前环境的配置
// 根据当前工作目录中的 `mode` 加载 .env 文件
// 设置第三个参数为 '' 来加载所有环境变量,而不管是否有 `VITE_` 前缀。
const config = loadEnv(mode, process.cwd() /*, ''*/);
console.log("config", config);
return {
plugins: [
vue(),
// 插件配置
AutoImport({
eslintrc: {
enabled: true,
},
imports: ["vue", "vue-router", "vue-i18n"],
}),
Components({
// 指定组件位置,默认是src/components
dirs: ["src/components"],
extensions: ["vue"],
dts: false,
// ui库解析器
resolvers: [
// 自动按需加载iconify图标库图标
IconsResolver({
// icon的前缀 组件使用{prefix}-{collection}-{icon} eg:i-ep-search
prefix: "i",
// enabledCollections:['ep'] 这是可选的,默认启用 Iconify 支持的所有集合,ep指的是element_ui的图标库
// alias: { park: 'icon-park' } 集合的别名
}),
],
}),
UnoCSS({
presets: [presetUno(), presetAttributify(), presetIcons()],
}),
createSvgIconsPlugin({
// 指定需要缓存的图标文件夹
iconDirs: [path.resolve(process.cwd(), "src/assets/icons")],
// 指定symbolId格式
symbolId: "icon-[dir]-[name]",
}),
Icons({
// 自动安装图标
autoInstall: true,
// 缩放比 相对1em
scale: 1,
// 编译方式
compiler: "vue3",
}),
],
server: {
proxy: {
"/api": {
// target: "http://192.168.1.33:8088",
target: config.VITE_APP_BASE_URL,
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ""),
},
},
},
define: {
"process.env": {
VITE_API_URL: "/",
...config,
},
},
resolve: {
// 配置路径别名
alias: {
"@": resolve("src"),
},
extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"],
},
// css 配置
css: {
preprocessorOptions: {
// sass
scss: {
additionalData: `@import "@/styles/index.scss";`,
},
// // css
// css: { charset: false },
// // less
// less: {
// modifyVars: {
// hack: 'true; @import "@/styles/index";',
// },
// javascriptEnabled: true,
// },
},
},
};
});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。