代码拉取完成,页面将自动刷新
import react from "@vitejs/plugin-react";
import removeConsole from "vite-plugin-remove-console";
import mockDevServerPlugin from "vite-plugin-mock-dev-server";
import { defineConfig } from "vite";
import { createSvgIconsPlugin } from "vite-plugin-svg-icons";
import path from "path";
// 当前工作目录路径
const root = process.cwd();
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
react(),
mockDevServerPlugin(), // 提供开发环境的 Mock 服务
removeConsole({ includes: ["log", "warn", "info"] }), // 生产环境移除指定的 console 语句
createSvgIconsPlugin({
iconDirs: [path.resolve(root, "src/assets/icons/svg")], // 指定svg图标文件夹
symbolId: "icon-[dir]-[name]", // 指定 symbolId 格式
}),
],
base: "./",
resolve: {
alias: {
"@": path.resolve(__dirname, "./src"),
},
},
server: {
hmr: true, // 热更新
open: true, // 自动打开浏览器
host: "0.0.0.0",
port: 3000,
proxy: {
"/mock": { target: "" }, // Mock 专用: https://github.com/pengzhanbo/vite-plugin-mock-dev-server
},
},
css: { preprocessorOptions: { scss: { api: "modern" } } },
build: {
chunkSizeWarningLimit: 2500, // 消除打包大小超过500kb(默认值)的警告
rollupOptions: {
input: {
index: path.resolve(__dirname, ".", "index.html"),
},
output: {
chunkFileNames: "assets/js/[name]-[hash].js",
entryFileNames: "assets/js/[name]-[hash].js",
assetFileNames: "assets/[ext]/[name]-[hash].[ext]",
manualChunks(id) {
if (id.includes("node_modules")) {
return id.toString().split("node_modules/")[1].split("/")[0].toString();
}
},
},
},
},
});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。