fini-ui/vite.config.ts

103 lines
2.5 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { defineConfig, loadEnv, type ConfigEnv } from "vite";
import { resolve } from "path";
import vue from "@vitejs/plugin-vue";
import vueJsx from "@vitejs/plugin-vue-jsx";
import viteMock from "vite-easy-mock";
// https://vitejs.dev/config/
export default defineConfig((mode: ConfigEnv) => {
// vite脚手架中通过loadEnv函数加载env
// 项目代码是通过import.meta.env加载env
const env = loadEnv(mode.mode, process.cwd());
return {
plugins: [
vue(),
vueJsx(),
// 拦截/mock开头的请求去本地mock文件夹中找对应的资源找到响应找不到404
viteMock({
dir: "",
pattern: "/mock",
}),
],
define: { 'process.env': {} },
resolve: {
// 配置路径别名
alias: {
"@": resolve(__dirname, "src"),
},
// 配置文件扩展名
extensions: [".ts", ".vue", ".js", ".jsx", ".tsx"], // 导入时想要省略的扩展名列表。
},
css: {
preprocessorOptions: {
scss:{
//引入var.scss全局预定义变量
additionalData:'@import "./src/vars.scss";'
}
},
postcss: {
plugins: [
{
postcssPlugin: "internal:charset-removal",
AtRule: {
charset: (atRule) => {
if (atRule.name === "charset") {
atRule.remove();
}
},
},
},
],
},
},
server: {
host:"0.0.0.0",
port: +env.VITE_PORT,
open: env.VITE_OPEN === "true",
// 配置代理服务器
proxy: {
"/api": {
target: "http://127.0.0.1:8080",
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ""),
},
},
},
// pages:{
// move: {
// template: "./move.html",
// entry: "src/views/move/move.main.js",
// filename: "move.html",
// title: "move",
// keywords: "333",
// description: "444",
// },
// index: {
// template: "./index.html",
// entry: "src/main.js",
// filename: "index.html",
// title: "index",
// keywords: "333",
// description: "444",
// }
// }
build:{
chunkSizeWarningLimit:1500,
rollupOptions: {
output:{
manualChunks(id) {
if (id.includes('node_modules')) {
return id.toString().split('node_modules/')[1].split('/')[0].toString();
}
}
}
}
}
};
});