3 Star 39 Fork 16

安科吉/vue3-admin-template

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
vite.config.js 2.70 KB
一键复制 编辑 原始数据 按行查看 历史
安科吉 提交于 2024-03-14 18:21 . 项目初始化
import {
defineConfig,
loadEnv
} from "vite";
import vue from "@vitejs/plugin-vue";
// 拼接路径
const resolve = dir => require('path').join(__dirname, dir)
import {
viteMockServe
} from "vite-plugin-mock";
import viteCompression from "vite-plugin-compression";
const proEnv = require('./config/pro.env') // 生产环境
const devEnv = require('./config/dev.env') // 开发环境
export default defineConfig(({ mode }) => {
process.env = { ...process.env, ...loadEnv(mode, process.cwd()) };
const env = process.env.NODE_ENV
let target = {}
// 默认是本地环境
if (env === 'production') { // 生产环境
target = proEnv.hosturl
} else { // 本地环境
target = devEnv.hosturl
}
// 生成代理配置对象
const proxyObj = {}
console.log(target);
for (const key in target) {
proxyObj[key] = {
target: target[key],
changeOrigin: true,
ws: true,
rewrite: (path) => {
const regex = new RegExp(`^${key}`);
return path.replace(regex, '');
}
}
}
return {
viteMockServe: {
supportTs: false,
logger: false,
mockPath: "./mock/index.js",
},
resolve: {
alias: {
// 设置路径
'@api': resolve('src/api'),
'@utils': resolve('src/utils'),
'@': resolve('src'),
'assets': resolve('src/assets'),
'components': resolve('src/components'),
'views': resolve('src/views'),
},
},
plugins: [
vue(),
viteCompression({
//gzip压缩
verbose: true,
disable: false,
threshold: 10240,
algorithm: "gzip",
ext: ".gz",
}),
],
build: {
minify: 'terser',
terserOptions: {
compress: {
drop_console: true,
drop_debugger: true,
},
},
// chunkSizeWarningLimit: 1500,大文件报警阈值设置,不建议使用
rollupOptions: {
output: {
//静态资源分类打包
chunkFileNames: "static/js/[name]-[hash].js",
entryFileNames: "static/js/[name]-[hash].js",
assetFileNames: "static/[ext]/[name]-[hash].[ext]",
manualChunks(id) {
//静态资源分拆打包
if (id.includes("node_modules")) {
return id.toString().split("node_modules/")[1].split("/")[0].toString();
}
},
},
},
},
css: {
/* CSS 预处理器 导入全局样式*/
preprocessorOptions: {
scss: {
// additionalData: `@use "@/styles/element/index.scss" as *;`,
},
},
},
server: { //同plugins同级
host: '0.0.0.0',
port: 3000, //本地端口号
proxy: proxyObj,
},
}
});
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/ankeji/vue3-admin-template.git
git@gitee.com:ankeji/vue3-admin-template.git
ankeji
vue3-admin-template
vue3-admin-template
master

搜索帮助