1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import { defineConfig, loadEnv } from "vite";
- import vue from "@vitejs/plugin-vue";
- import { resolve } from "path";
- import AutoImport from "unplugin-auto-import/vite";
- import Components from "unplugin-vue-components/vite";
- // 按需引入 ElementPlus vant
- import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
- import { VantResolver } from "unplugin-vue-components/resolvers";
-
- // 生成.gz文件
- import viteCompression from "vite-plugin-compression";
-
- // https://vitejs.dev/config/
- export default defineConfig(({ mode }) => {
- let env = loadEnv(mode, process.cwd());
- return {
- plugins: [
- vue(),
- AutoImport({
- // 自动导入vue相关的Api
- imports: ["vue", "vue-router"],
- resolvers: [ElementPlusResolver()],
- }),
- Components({
- resolvers: [ElementPlusResolver(), VantResolver()],
- }),
- {
- ...viteCompression(),
- apply: "build",
- },
- ],
- resolve: {
- // 配置路径别名
- alias: {
- "@": resolve(__dirname, "./src"),
- },
- },
- css: {
- // CSS 预处理器
- preprocessorOptions: {
- //define global scss variable
- scss: {
- javascriptEnabled: true,
- additionalData: `@import "@/styles/variables.scss";`,
- },
- },
- },
-
- server: {
- host: "0.0.0.0",
- port: 8081,
- open: true,
- https: false,
- proxy: {
- "/api": {
- target: env.VITE_BASE_URL,
- changeOrigin: true,
- ws: true,
- rewrite: path => path.replace(/^\/api/, ""),
- },
- },
- },
- build: {
- rollupOptions: {
- output: {
- manualChunks: {
- vue: ["vue", "pinia", "vue-router"],
- elementIcons: ["@element-plus/icons-vue"],
- },
- chunkFileNames: "wap/js/[name]-[hash].js",
- entryFileNames: "wap/js/[name]-[hash].js",
- assetFileNames: "wap/[ext]/[name]-[hash].[ext]",
- },
- },
- },
- };
- });
|