12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- import { fileURLToPath, URL } from "node:url";
- import fs from 'node:fs';
- import { defineConfig } from "vite";
- import vue from "@vitejs/plugin-vue";
- import vueDevTools from "vite-plugin-vue-devtools";
- import vueJsx from "@vitejs/plugin-vue-jsx";
- import { createSvgIconsPlugin } from "vite-plugin-svg-icons";
- import { codeInspectorPlugin } from 'code-inspector-plugin';
- import AutoImport from 'unplugin-auto-import/vite'
- import { resolve } from "path";
- console.log("==", resolve(process.cwd(), "src/assets/svg"))
- // https://vite.dev/config/
- export default defineConfig({
- base: "./",
- plugins: [
- vue(),
- vueJsx(),
- AutoImport({
- imports:[
- 'vue',
- 'vue-router'
- ]
- }),
- // vueDevTools(),
- createSvgIconsPlugin({
- // 指定需要缓存的图标文件夹
- iconDirs: [ resolve(process.cwd(), "src/assets/svg")],
- // 指定symbolId格式
- symbolId: "icon-[dir]-[name]",
- }),
- codeInspectorPlugin({
- bundler: 'vite',
- }),
- ],
- resolve: {
- alias: {
- "@": fileURLToPath(new URL("./src", import.meta.url)),
- },
- },
- css: {
- // css预处理器
- preprocessorOptions: {
- less: {
- charset: false, // 解决中文乱码
- javascriptEnabled: true,
- additionalData:
- '@import "@/assets/css/global.less";@import "@/assets/css/theme.less";',
- },
- },
- },
- build: {
- minify: true, // 生产环境不生成sourcemap
- target: "es2015",
- // 警报门槛,限制大文件大小
- chunkSizeWarningLimit: 5000,
- rollupOptions: {
- external: [], // 外部化处理那些你不想打包进库的依赖
- // 静态资源分类打包
- output: {
- chunkFileNames: "static/js/[name]-[hash].js",
- entryFileNames: "static/js/[name]-[hash].js",
- assetFileNames: "static/[ext]/[name]-[hash].[ext]",
- },
- },
- },
- server: {
- host: true,
- port: 5173,
- open: true,
- cors: true,
- hmr: true,
- proxy: {
- "^/api": {
- target:"https://192.168.0.59:3001",
- changeOrigin: true,
- // secure: false,
- }
- },
-
- },
- });
|