This commit is contained in:
ljw
2024-09-13 16:34:15 +08:00
commit 364064e5ce
62 changed files with 8448 additions and 0 deletions
+82
View File
@@ -0,0 +1,82 @@
import { defineConfig } from 'vite'
import * as path from 'path'
import * as dotenv from 'dotenv'
import * as fs from 'fs'
import vue from '@vitejs/plugin-vue'
const NODE_ENV = process.env.NODE_ENV || 'development'
const envFile = `.env.${NODE_ENV}`
const envConfig = dotenv.parse(fs.readFileSync(envFile))
for (const k in envConfig) {
process.env[k] = envConfig[k]
}
let alias = {
'@': path.resolve(__dirname, './src'),
'vue$': 'vue/dist/vue.runtime.esm-bundler.js',
}
const conf = {
base: './', // index.html文件所在位置
root: './', // js导入的资源路径,src
server: {
open: true,
port: process.env.VITE_DEV_PORT,
proxy: {
[process.env.VITE_SERVER_API]: {
target: process.env.VITE_SERVER_PATH,
// rewrite: path => path.replace(/^\/api/, '/api'), //为了模拟
changeOrigin: true,
},
},
},
build: {
target: 'es2015',
minify: 'terser', // 是否进行压缩,boolean | 'terser' | 'esbuild',默认使用 esbuild
manifest: false, // 是否产出maifest.json
sourcemap: false, // 是否产出soucemap.json
emptyOutDir: true,
outDir: 'dist', // 产出目录
rollupOptions: {
output: {
manualChunks (id) {
if (id.includes('node_modules')) {
const arr = id.toString().split('node_modules/')[1].split('/')
switch (arr[0]) {
case '@popperjs':
case '@vue':
case 'axios':
case 'element-plus':
case '@element-plus':
return '_' + arr[0]
default :
return '__vendor'
}
}else if(id.includes('Gwen-admin/src')){
//src 下的都打包到一起 不然很多小文件
return 'gwen'
}
},
chunkFileNames: 'static/chunk/[name]-[hash].js',
entryFileNames: 'static/entry/[name]-[hash].js',
assetFileNames: 'static/[ext]/[name]-[hash].[ext]'
},
},
},
css: {
preprocessorOptions: {
scss: {
javascriptEnabled: true,
},
},
},
resolve: {
alias,
},
plugins: [
vue(),
],
}
// https://vitejs.dev/config/
export default defineConfig(conf)