113 lines
4.3 KiB
JavaScript
113 lines
4.3 KiB
JavaScript
import { fileURLToPath, URL } from 'node:url';
|
||
|
||
const config = require('./package.json');
|
||
import { defineConfig, loadEnv } from 'vite';
|
||
import vue from '@vitejs/plugin-vue';
|
||
import AutoImport from 'unplugin-auto-import/vite';
|
||
import Components from 'unplugin-vue-components/vite';
|
||
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers';
|
||
import zipPack from 'vite-plugin-zip-pack';
|
||
import cleanPlugin from 'vite-plugin-clean';
|
||
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons';
|
||
import { resolve } from 'path';
|
||
|
||
const version = config.version;
|
||
|
||
let proxyTarget = 'http://www.artprofessor.cn:3202/';
|
||
//let proxyTarget = 'http://localhost:3202/';
|
||
|
||
export default defineConfig(({ command, mode }) => {
|
||
const env = loadEnv(mode, process.cwd());
|
||
const projectName = env.VITE_APP_PROJECTNAME;
|
||
const outDir = `E:/work/go_cellsys/branches/art/web/Main/${projectName}`;
|
||
return {
|
||
base: '/' + projectName,
|
||
build: {
|
||
outDir: `E:/work/go_cellsys/branches/art/web/Main/${projectName}`,
|
||
rollupOptions: {
|
||
output: {
|
||
chunkFileNames: 'js/[name]-[hash].js', // 引入文件名的名称
|
||
entryFileNames: 'js/[name]-[hash].js', // 包的入口文件名称
|
||
assetFileNames: '[ext]/[name]-[hash].[ext]', // 资源文件像 字体,图片等
|
||
},
|
||
},
|
||
},
|
||
server: {
|
||
port: '8082', // 端口号,一般情况下为8080
|
||
proxy: {
|
||
'/api/v2': {
|
||
target: proxyTarget,
|
||
ws: true,
|
||
changeOrigin: true,
|
||
},
|
||
'/oauth': {
|
||
target: proxyTarget,
|
||
ws: true,
|
||
changeOrigin: true,
|
||
},
|
||
'/cellsysProgramCollection': {
|
||
target: proxyTarget,
|
||
ws: true,
|
||
changeOrigin: true,
|
||
},
|
||
'/resources/': {
|
||
target: proxyTarget,
|
||
ws: true,
|
||
changeOrigin: true,
|
||
},
|
||
'/cellsys/api': {
|
||
target: proxyTarget,
|
||
ws: true,
|
||
changeOrigin: true,
|
||
},
|
||
'/ThirdpartyApi': {
|
||
//第三方程序图片上传服务接口
|
||
target: proxyTarget,
|
||
ws: true,
|
||
changeOrigin: true,
|
||
},
|
||
},
|
||
},
|
||
plugins: [
|
||
vue(),
|
||
createSvgIconsPlugin({
|
||
// 这个是自己配置的图标路径,指出来(自己咋配置的咋来)
|
||
iconDirs: [resolve(process.cwd(), 'src/icons/svg')],
|
||
// 这个表示id,按这个来就对了
|
||
symbolId: 'icon-[dir]-[name]',
|
||
}),
|
||
cleanPlugin({
|
||
targetFiles: [outDir],
|
||
}),
|
||
// AutoImport({
|
||
// resolvers: [ElementPlusResolver()],
|
||
// }),
|
||
// Components({
|
||
// resolvers: [ElementPlusResolver()],
|
||
// }),
|
||
/* zipPack({
|
||
inDir: 'dist', // 输入的文件夹,就是要打包的文件夹
|
||
outDir: 'archive', // 打包好的 zip 文件放到哪个文件夹下
|
||
outFileName: `my-project-${new Date().toISOString().slice(0, 10)}.zip`, // 打包好的文件名
|
||
pathPrefix: '',
|
||
}),
|
||
VitePluginDistZipJs({
|
||
zipName: `artrepair v${version}`, // 压缩包名称
|
||
zipDir: 'dist', // 压缩文件存放路径,相对于项目根目录,为空时为打包输出文件夹
|
||
dayjsFormat: '',
|
||
includeDistDir: true,
|
||
}),*/
|
||
],
|
||
|
||
resolve: {
|
||
alias: {
|
||
'@': fileURLToPath(new URL('./src', import.meta.url)),
|
||
css: fileURLToPath(new URL('./src/assets/css', import.meta.url)),
|
||
pc: fileURLToPath(new URL('./src/assets/css/pc', import.meta.url)),
|
||
mobile: fileURLToPath(new URL('./src/assets/css/mobile', import.meta.url)),
|
||
},
|
||
extensions: ['.vue', '.js', '.json'],
|
||
},
|
||
};
|
||
});
|