198 lines
7.4 KiB
TypeScript
198 lines
7.4 KiB
TypeScript
import { defineConfig, loadEnv } from "vite";
|
||
import vue from "@vitejs/plugin-vue";
|
||
import vueJsx from "@vitejs/plugin-vue-jsx";
|
||
import { resolve } from "path";
|
||
import themeConfig from "./themeConfig";
|
||
/*
|
||
unplugin-vue-components(实现组件按需引入)
|
||
原名为vite-plugin-components 后更名为unplugin-vue-components
|
||
*/
|
||
/*
|
||
解决本地css 编译过慢的方法
|
||
注释 48 行 themePreprocessorPlugin(themeConfig)
|
||
打开 66 行 '@primary-color':'#1965FF', // 全局主色
|
||
*/
|
||
|
||
import Components from "unplugin-vue-components/vite";
|
||
import { AntDesignVueResolver } from "unplugin-vue-components/resolvers";
|
||
|
||
export default ({ mode }) => {
|
||
// 解析env对象
|
||
process.env = { ...process.env, ...loadEnv(mode, process.cwd()) };
|
||
return defineConfig({
|
||
server: {
|
||
host: true, // 监听所有host包括局域网
|
||
port: 8000,
|
||
proxy: {
|
||
"/api": {
|
||
// target: 'http://192.168.1.12:9217/', // 代理的目标地址
|
||
// target: 'http://192.168.2.171:9217', // 代理的目标地址
|
||
// target: 'https://mgruxxkwhmz.rscygroup.com/', // 代理的目标地址
|
||
target: "https://manager.sxczgkj.cn",
|
||
changeOrigin: true, // 开启跨域
|
||
},
|
||
},
|
||
},
|
||
base: process.env.VITE_APP_BASE_URL,
|
||
// 定义ENV, 可全局取到
|
||
define: {
|
||
"process.env": process.env,
|
||
},
|
||
|
||
// @ --> src目录
|
||
resolve: {
|
||
alias: [
|
||
{ find: "@", replacement: resolve(__dirname, "src") },
|
||
{
|
||
find: "UIC",
|
||
replacement: resolve(__dirname, "src/components/JeepayUIComponents"),
|
||
}, //UI-Components缩写
|
||
],
|
||
},
|
||
|
||
plugins: [
|
||
vue(),
|
||
vueJsx(),
|
||
// themePreprocessorPlugin(themeConfig), // 主题色文件配置文件
|
||
Components({
|
||
resolvers: [
|
||
AntDesignVueResolver({
|
||
importLess: false, // 导入less文件, 默认为false, 若需要自定义主题必须开启此选项
|
||
}),
|
||
], // 按需引入 antd 组件, 无需显示引入即可。
|
||
}),
|
||
],
|
||
esbuild: {
|
||
jsxFactory: "h",
|
||
jsxFragment: "Fragment",
|
||
},
|
||
// 解决:Inline JavaScript is not enabled. Is it set in your options 问题
|
||
css: {
|
||
postcss: {},
|
||
preprocessorOptions: {
|
||
less: {
|
||
additionalData: `@import "@/less/color.less";`,
|
||
modifyVars: {
|
||
"@primary-color": "#1965FF", // 全局主色
|
||
"@primary-glass": "#2691ff26", // 半透明主题色
|
||
"@background-color": "#F2F5F7", //light全局背景色
|
||
"@link-color": "#1890ff", // 链接色
|
||
"@login-align": "flex-end", //登录页表单对话框的对齐方式,flex-start == left; center == center; flex-end == right
|
||
"@success-color": "#52c41a", // 成功色
|
||
"@warning-color": "#faad14", // 警告色
|
||
"@error-color": "#f5222d", // 错误色
|
||
"@font-size-base": "14px", // 主字号
|
||
"@heading-color": "rgba(0, 0, 0, 0.85)", // 标题色
|
||
"@text-color": "rgba(0, 0, 0, 0.65)", // 主文本色
|
||
"@text-color-secondary": "rgba(0, 0, 0, 0.45)", // 次文本色
|
||
"@disabled-color": "rgba(0, 0, 0, 0.25)", // 失效色
|
||
"@border-radius-base": "4px", // 组件/浮层圆角
|
||
"@border-color-base": "#d9d9d9", // 边框色
|
||
"@box-shadow-base": "0 2px 8px rgba(0, 0, 0, 0.15)", // 浮层阴影
|
||
},
|
||
// DO NOT REMOVE THIS LINE
|
||
javascriptEnabled: true,
|
||
},
|
||
},
|
||
},
|
||
optimizeDeps: {
|
||
// 解决 wondiws环境 依赖变更首次加载慢的问题
|
||
include: [
|
||
"@vue/reactivity",
|
||
"qrcode.vue",
|
||
"reconnectingwebsocket",
|
||
"ant-design-vue/es",
|
||
"v-viewer",
|
||
"@amap/amap-jsapi-loader",
|
||
|
||
"ant-design-vue/es/locale/zh_CN",
|
||
"ant-design-vue/es/config-provider/style",
|
||
"ant-design-vue/es/form/style",
|
||
"ant-design-vue/es/input/style",
|
||
"ant-design-vue/es/dropdown/style",
|
||
"ant-design-vue/es/menu/style",
|
||
"ant-design-vue/es/breadcrumb/style",
|
||
"ant-design-vue/es/badge/style",
|
||
"ant-design-vue/es/avatar/style",
|
||
"ant-design-vue/es/card/style",
|
||
"ant-design-vue/es/tag/style",
|
||
"ant-design-vue/es/spin/style",
|
||
"ant-design-vue/es/button/style",
|
||
"ant-design-vue/es/drawer/style",
|
||
"ant-design-vue/es/table/style",
|
||
"ant-design-vue/es/checkbox/style",
|
||
"ant-design-vue/es/switch/style",
|
||
"ant-design-vue/es/tooltip/style",
|
||
"ant-design-vue/es/row/style",
|
||
"ant-design-vue/es/date-picker/style",
|
||
"ant-design-vue/es/col/style",
|
||
"ant-design-vue/es/select/style",
|
||
"ant-design-vue/es/alert/style",
|
||
"ant-design-vue/es/divider/style",
|
||
"ant-design-vue/es/popover/style",
|
||
"ant-design-vue/es/radio/style",
|
||
"ant-design-vue/es/descriptions/style",
|
||
"ant-design-vue/es/upload/style",
|
||
"ant-design-vue/es/modal/style",
|
||
"ant-design-vue/es/input-number/style",
|
||
"ant-design-vue/es/tree/style",
|
||
"ant-design-vue/es/tabs/style",
|
||
"ant-design-vue/es/steps/style",
|
||
"ant-design-vue/es/list/style",
|
||
"ant-design-vue/es/skeleton/style",
|
||
"ant-design-vue/es/empty/style",
|
||
"ant-design-vue/es/cascader/style",
|
||
"ant-design-vue/es/collapse/style",
|
||
"ant-design-vue/es/affix/style",
|
||
"ant-design-vue/es/space/style",
|
||
"ant-design-vue/es/statistic/style",
|
||
"ant-design-vue/es/image/style",
|
||
|
||
"ant-design-vue/es/config-provider/style/css",
|
||
"ant-design-vue/es/form/style/css",
|
||
"ant-design-vue/es/input/style/css",
|
||
"ant-design-vue/es/dropdown/style/css",
|
||
"ant-design-vue/es/menu/style/css",
|
||
"ant-design-vue/es/breadcrumb/style/css",
|
||
"ant-design-vue/es/badge/style/css",
|
||
"ant-design-vue/es/avatar/style/css",
|
||
"ant-design-vue/es/card/style/css",
|
||
"ant-design-vue/es/tag/style/css",
|
||
"ant-design-vue/es/spin/style/css",
|
||
"ant-design-vue/es/button/style/css",
|
||
"ant-design-vue/es/drawer/style/css",
|
||
"ant-design-vue/es/table/style/css",
|
||
"ant-design-vue/es/checkbox/style/css",
|
||
"ant-design-vue/es/switch/style/css",
|
||
"ant-design-vue/es/tooltip/style/css",
|
||
"ant-design-vue/es/row/style/css",
|
||
"ant-design-vue/es/date-picker/style/css",
|
||
"ant-design-vue/es/col/style/css",
|
||
"ant-design-vue/es/select/style/css",
|
||
"ant-design-vue/es/alert/style/css",
|
||
"ant-design-vue/es/divider/style/css",
|
||
"ant-design-vue/es/popover/style/css",
|
||
"ant-design-vue/es/radio/style/css",
|
||
"ant-design-vue/es/descriptions/style/css",
|
||
"ant-design-vue/es/upload/style/css",
|
||
"ant-design-vue/es/modal/style/css",
|
||
"ant-design-vue/es/input-number/style/css",
|
||
"ant-design-vue/es/tree/style/css",
|
||
"ant-design-vue/es/tabs/style/css",
|
||
"ant-design-vue/es/steps/style/css",
|
||
"ant-design-vue/es/list/style/css",
|
||
"ant-design-vue/es/skeleton/style/css",
|
||
"ant-design-vue/es/empty/style/css",
|
||
"ant-design-vue/es/cascader/style/css",
|
||
"ant-design-vue/es/collapse/style/css",
|
||
"ant-design-vue/es/affix/style/css",
|
||
"ant-design-vue/es/space/style/css",
|
||
"ant-design-vue/es/statistic/style/css",
|
||
"ant-design-vue/es/image/style/css",
|
||
"ant-design-vue/es/time-picker/style/css",
|
||
"ant-design-vue/es/typography/style/css",
|
||
],
|
||
},
|
||
});
|
||
};
|