fixbug: 🐛 接口代理无法使用
This commit is contained in:
parent
31230da722
commit
1dd9e97a43
10
.env
10
.env
|
@ -1,2 +1,8 @@
|
||||||
# 请求api地址
|
# 线上环境接口地址
|
||||||
BUNNY_APP_URL=http://localhost:8088/xxx
|
VITE_APP_URL="http://localhost:8800"
|
||||||
|
# 线上环境接口地址
|
||||||
|
VITE_APP_MOCK_URL="http://localhost:8800"
|
||||||
|
# 端口号
|
||||||
|
VITE_APP_PORT=6262
|
||||||
|
# 是否使用CDN加速
|
||||||
|
VITE_CDN=true
|
|
@ -1,2 +1,8 @@
|
||||||
# 请求api地址
|
# 线上环境接口地址
|
||||||
BUNNY_APP_URL=http://localhost:8088/development
|
VITE_APP_URL="http://localhost:8800"
|
||||||
|
# 线上环境接口地址
|
||||||
|
VITE_APP_MOCK_URL="http://localhost:8800"
|
||||||
|
# 端口号
|
||||||
|
VITE_APP_PORT=6262
|
||||||
|
# 是否使用CDN加速
|
||||||
|
VITE_CDN=true
|
|
@ -1,2 +1,8 @@
|
||||||
# 请求api地址
|
# 线上环境接口地址
|
||||||
BUNNY_APP_URL=http://localhost:8088/prod
|
VITE_APP_URL="http://localhost:8800"
|
||||||
|
# 线上环境接口地址
|
||||||
|
VITE_APP_MOCK_URL="http://localhost:8800"
|
||||||
|
# 端口号
|
||||||
|
VITE_APP_PORT=6262
|
||||||
|
# 是否使用CDN加速
|
||||||
|
VITE_CDN=true
|
|
@ -36,7 +36,7 @@ export const buildEnvironment = () => {
|
||||||
entryFileNames: 'js/[name]-[hash].js', // 用于指定入口文件的输出文件名格式
|
entryFileNames: 'js/[name]-[hash].js', // 用于指定入口文件的输出文件名格式
|
||||||
assetFileNames: 'assets/[ext]/[name]-[hash].[ext]', // 用于指定静态资源的输出文件名格式
|
assetFileNames: 'assets/[ext]/[name]-[hash].[ext]', // 用于指定静态资源的输出文件名格式
|
||||||
// ? 配置文件生成方式
|
// ? 配置文件生成方式
|
||||||
manualChunks: id => {
|
manualChunks: (id, meta) => {
|
||||||
// 如果是包含在包中则打包成 vendor
|
// 如果是包含在包中则打包成 vendor
|
||||||
if (id.includes('node_modules')) {
|
if (id.includes('node_modules')) {
|
||||||
return 'vendor';
|
return 'vendor';
|
||||||
|
|
|
@ -10,9 +10,9 @@ dayjs.extend(duration);
|
||||||
const welcomeMessage = gradientString('cyan', 'magenta').multiline(
|
const welcomeMessage = gradientString('cyan', 'magenta').multiline(
|
||||||
`您好! 欢迎使用 bunny-admin 后台管理
|
`您好! 欢迎使用 bunny-admin 后台管理
|
||||||
项目开发访问地址如下:
|
项目开发访问地址如下:
|
||||||
http://localhost:8202/
|
http://localhost:6262/
|
||||||
项目生产访问地址如下:
|
项目生产访问地址如下:
|
||||||
http://localhost:8202/`,
|
http://localhost:6262/`,
|
||||||
);
|
);
|
||||||
|
|
||||||
const boxenOptions: BoxenOptions = {
|
const boxenOptions: BoxenOptions = {
|
||||||
|
|
|
@ -8,7 +8,6 @@ import { viteMockServe } from 'vite-plugin-mock';
|
||||||
import { viteBuildInfo } from './info';
|
import { viteBuildInfo } from './info';
|
||||||
|
|
||||||
export function getPluginsList(): PluginOption[] {
|
export function getPluginsList(): PluginOption[] {
|
||||||
const lifecycle = process.env.npm_lifecycle_event;
|
|
||||||
return [
|
return [
|
||||||
vue(),
|
vue(),
|
||||||
legacy({
|
legacy({
|
||||||
|
@ -37,7 +36,7 @@ export function getPluginsList(): PluginOption[] {
|
||||||
vueJsx(),
|
vueJsx(),
|
||||||
compression(),
|
compression(),
|
||||||
viteBuildInfo(),
|
viteBuildInfo(),
|
||||||
cdn,
|
process.env.VITE_CDN ? cdn : null,
|
||||||
viteMockServe({ mockPath: 'src/mock' }),
|
viteMockServe({ mockPath: 'src/mock' }),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,12 +8,12 @@ export const serverOptions = () => {
|
||||||
cors: true,
|
cors: true,
|
||||||
proxy: {
|
proxy: {
|
||||||
'/api': {
|
'/api': {
|
||||||
target: process.env.BUNNY_APP_URL,
|
target: process.env.VITE_APP_URL,
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
rewrite: (path: string) => path.replace(/^\/api/, '/api'),
|
rewrite: (path: string) => path.replace(/^\/api/, '/api'),
|
||||||
},
|
},
|
||||||
'/mock': {
|
'/mock': {
|
||||||
target: process.env.BUNNY_APP_URL,
|
target: process.env.VITE_APP_MOCK_URL,
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
rewrite: (path: string) => path.replace(/^\/mock/, '/mock'),
|
rewrite: (path: string) => path.replace(/^\/mock/, '/mock'),
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,12 +1,15 @@
|
||||||
import { readdir, stat } from 'node:fs';
|
import { readdir, stat } from 'node:fs';
|
||||||
import { formatBytes, sum } from '@pureadmin/utils';
|
import { formatBytes, Recordable, sum } from '@pureadmin/utils';
|
||||||
import { fileURLToPath } from 'node:url';
|
import { fileURLToPath } from 'node:url';
|
||||||
import { dirname, resolve } from 'node:path';
|
import { dirname, resolve } from 'node:path';
|
||||||
|
|
||||||
|
/** 启动`node`进程时所在工作目录的绝对路径 */
|
||||||
|
const root: string = process.cwd();
|
||||||
|
|
||||||
const fileListTotal: number[] = [];
|
const fileListTotal: number[] = [];
|
||||||
|
|
||||||
/** 获取指定文件夹中所有文件的总大小 */
|
/** 获取指定文件夹中所有文件的总大小 */
|
||||||
const getPackageSize = options => {
|
const getPackageSize = (options: any) => {
|
||||||
const { folder = 'dist', callback, format = true } = options;
|
const { folder = 'dist', callback, format = true } = options;
|
||||||
readdir(folder, (err, files: string[]) => {
|
readdir(folder, (err, files: string[]) => {
|
||||||
if (err) throw err;
|
if (err) throw err;
|
||||||
|
@ -52,4 +55,33 @@ const pathResolve = (dir = '.', metaUrl = import.meta.url) => {
|
||||||
// 不在 build 目录内,返回解析后的绝对路径
|
// 不在 build 目录内,返回解析后的绝对路径
|
||||||
return resolvedPath;
|
return resolvedPath;
|
||||||
};
|
};
|
||||||
export { getPackageSize, pathResolve };
|
|
||||||
|
/** 处理环境变量 */
|
||||||
|
const wrapperEnv = (envConf: Recordable): any => {
|
||||||
|
// TODO 默认值
|
||||||
|
const ret: any = {
|
||||||
|
VITE_APP_PORT: 6262,
|
||||||
|
VITE_APP_URL: '',
|
||||||
|
VITE_APP_MOCK_URL: '',
|
||||||
|
VITE_CDN: false,
|
||||||
|
};
|
||||||
|
|
||||||
|
for (const envName of Object.keys(envConf)) {
|
||||||
|
let realName = envConf[envName].replace(/\\n/g, '\n');
|
||||||
|
realName = realName === 'true' ? true : realName === 'false' ? false : realName;
|
||||||
|
|
||||||
|
if (envName === 'VITE_PORT') {
|
||||||
|
realName = Number(realName);
|
||||||
|
}
|
||||||
|
ret[envName] = realName;
|
||||||
|
if (typeof realName === 'string') {
|
||||||
|
process.env[envName] = realName;
|
||||||
|
} else if (typeof realName === 'object') {
|
||||||
|
process.env[envName] = JSON.stringify(realName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
};
|
||||||
|
|
||||||
|
export { getPackageSize, pathResolve, root, wrapperEnv };
|
||||||
|
|
|
@ -1,14 +1,15 @@
|
||||||
import { resolve } from 'path';
|
import { resolve } from 'path';
|
||||||
import { defineConfig, UserConfig } from 'vite';
|
import { ConfigEnv, UserConfigExport } from 'vite';
|
||||||
import { buildEnvironment } from './build/buildEnv';
|
|
||||||
import { exclude, include } from './build/optimize';
|
|
||||||
import { getPluginsList } from './build/plugins';
|
import { getPluginsList } from './build/plugins';
|
||||||
|
import { buildEnvironment } from './build/buildEnv';
|
||||||
import { serverOptions } from './build/server';
|
import { serverOptions } from './build/server';
|
||||||
|
import { exclude, include } from './build/optimize';
|
||||||
import { pathResolve } from './build/utils.ts';
|
import { pathResolve } from './build/utils.ts';
|
||||||
|
|
||||||
export default defineConfig(
|
export default ({ mode }: ConfigEnv): UserConfigExport => {
|
||||||
(): UserConfig => ({
|
// const { VITE_APP_URL } = wrapperEnv(loadEnv(mode, root));
|
||||||
envPrefix: 'BUNNY',
|
|
||||||
|
return {
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
'@': resolve(__dirname, './src'),
|
'@': resolve(__dirname, './src'),
|
||||||
|
@ -27,5 +28,5 @@ export default defineConfig(
|
||||||
},
|
},
|
||||||
// 配置构建过程的选项,例如是否生成压缩文件和源映射
|
// 配置构建过程的选项,例如是否生成压缩文件和源映射
|
||||||
build: buildEnvironment(),
|
build: buildEnvironment(),
|
||||||
}),
|
};
|
||||||
);
|
};
|
||||||
|
|
Loading…
Reference in New Issue