first
This commit is contained in:
@@ -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)
|
||||
Reference in New Issue
Block a user