@opentiny/tiny-toolkit-pro
Version:
TinyPro Vue:开箱即用、前后端分离的 Vue 后台管理模板
66 lines (63 loc) • 1.89 kB
text/typescript
import { defineConfig, loadEnv } from '@farmfe/core';
import vue from '@vitejs/plugin-vue';
import less from '@farmfe/js-plugin-less';
import { join, resolve } from 'path';
import { configDotenv } from 'dotenv';
configDotenv({
path: './.env',
});
export default defineConfig({
vitePlugins: [vue()],
plugins: [
less({
additionalData: `@import "${resolve(__dirname, 'src/assets/style/breakpoint.less')}";`,
}),
],
compilation: {
define: {
'process.env': {},
'BUILD_TOOLS': '"VITE"',
'import.meta.env.VITE_CONTEXT': '"/vue-pro/"',
'import.meta.env.VITE_BASE_API': '"/api"',
'import.meta.env.VITE_SERVER_HOST': '"http://127.0.0.1:3000"',
'import.meta.env.VITE_MOCK_HOST': '"http://127.0.0.1:8848"',
'import.meta.env.VITE_USE_MOCK': 'false',
'import.meta.env.VITE_MOCK_IGNORE':
'"/api/user/userInfo,/api/user/login,/api/user/register,/api/employee/getEmployee"',
'import.meta.env.VITE_MOCK_SERVER_HOST': '"/mock"',
},
resolve: {
alias: {
'@': join(__dirname, 'src'),
'assets': join(__dirname, 'src/assets'),
'vue-i18n': 'vue-i18n/dist/vue-i18n.esm-bundler.js',
'vue': 'vue/dist/vue.esm-bundler.js',
},
extensions: ['.ts', '.js'],
},
},
server: {
proxy: {
'/mock': {
pathFilter(pathname, req) {
return Boolean(pathname.match('^/mock'));
},
pathRewrite: {
'^/mock': '/mock',
},
target: 'http://localhost:3000',
logger: console,
},
'/api': {
pathRewrite: {
'^/api': '',
},
target: 'http://localhost:3000',
pathFilter(pathname, req) {
return Boolean(pathname.match('^/api'));
},
logger: console,
},
},
},
});