代码拉取完成,页面将自动刷新
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import commonjs from "@rollup/plugin-commonjs"; // 让vite打包支持common.js语法
import AutoImport from "unplugin-auto-import/vite"; // 自动导入组件
import Components from "unplugin-vue-components/vite"; // 自动导入src/components下的组件
import { ElementPlusResolver } from "unplugin-vue-components/resolvers"; // 按需导入ep
import viteCompression from "vite-plugin-compression"; // gzip压缩
import { resolve } from "path";
import requireTransform from "vite-plugin-require-transform"; // 支持require
import { createSvgIconsPlugin } from "vite-plugin-svg-icons"; // 支持svg
import { fileURLToPath, URL } from "node:url"; // 导入用于处理文件路径的方法
// https://vitejs.dev/config/
export default defineConfig({
resolve: {
// 配置路径别名
alias: {
"@": fileURLToPath(new URL("./src", import.meta.url)),
},
extensions: [".js", ".ts", ".vue", ".json"],
},
// 按需导入element-plus main.js里不需要再引入了
plugins: [
vue(),
commonjs(),
// 自动导入element plus组件
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
dts: true,
dirs: "src/components",
resolvers: [ElementPlusResolver()], // ElementPlus按需加载
}),
viteCompression({
verbose: true, // 默认即可
disable: false, //开启压缩(不禁用),默认即可
deleteOriginFile: false, //删除源文件
threshold: 10240, //压缩前最小文件大小
algorithm: "gzip", //压缩算法
ext: ".gz", //文件类型
}),
// 让vite支持require
requireTransform({
fileRegex: /.js$|.vue$/,
}),
// svg
createSvgIconsPlugin({
// Specify the icon folder to be cached
iconDirs: [resolve(process.cwd(), "src/icons/svg")],
// 指定symbolId格式
symbolId: "icon-[dir]-[name]",
}),
],
css: {
preprocessorOptions: {
// 引入全局scss
scss: {
additionalData: `@import "./src/styles/base.scss";`,
},
},
},
server: {
port: 80,
host: "0.0.0.0",
https: false,
open: true,
// 热更新
hmr: {
overlay: false,
},
proxy: {
// 本地后端代理
"/api": {
//要访问的跨域的域名
target: "http://60.204.242.251:8082/api",
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ""),
},
},
},
build: {
// https://cn.vitejs.dev/guide/build.html#browser-compatibility
target: "es2015",
sourcemap: false,
// 消除打包大小超过500kb警告
chunkSizeWarningLimit: 4000,
rollupOptions: {
input: {
index: resolve("index.html"),
},
// 静态资源分类打包
output: {
chunkFileNames: "static/js/[name]-[hash].js",
entryFileNames: "static/js/[name]-[hash].js",
assetFileNames: "static/[ext]/[name]-[hash].[ext]",
},
},
},
});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。