|
|
@@ -7,20 +7,21 @@ import Components from 'unplugin-vue-components/vite'
|
|
|
import AutoImport from 'unplugin-auto-import/vite'
|
|
|
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
|
|
|
import { fileURLToPath } from 'url'
|
|
|
-import vueDevTools from 'vite-plugin-vue-devtools'
|
|
|
+// import vueDevTools from 'vite-plugin-vue-devtools'
|
|
|
// import { visualizer } from 'rollup-plugin-visualizer'
|
|
|
import tailwindcss from '@tailwindcss/vite'
|
|
|
+import legacy from '@vitejs/plugin-legacy'
|
|
|
|
|
|
export default ({ mode }: { mode: string }) => {
|
|
|
const root = process.cwd()
|
|
|
const env = loadEnv(mode, root)
|
|
|
- const { VITE_VERSION, VITE_PORT, VITE_BASE_URL, VITE_API_PROXY_URL } = env
|
|
|
+ const { VITE_VERSION, VITE_PORT, VITE_API_PROXY_URL } = env
|
|
|
|
|
|
return defineConfig({
|
|
|
define: {
|
|
|
__APP_VERSION__: JSON.stringify(VITE_VERSION)
|
|
|
},
|
|
|
- base: VITE_BASE_URL,
|
|
|
+ base: './',
|
|
|
server: {
|
|
|
port: Number(VITE_PORT),
|
|
|
proxy: {
|
|
|
@@ -51,6 +52,13 @@ export default ({ mode }: { mode: string }) => {
|
|
|
outDir: 'dist/course',
|
|
|
chunkSizeWarningLimit: 2000,
|
|
|
minify: 'terser',
|
|
|
+ assetsDir: 'assets',
|
|
|
+ rollupOptions: {
|
|
|
+ output: {
|
|
|
+ chunkFileNames: 'assets/[name]-[hash].js',
|
|
|
+ entryFileNames: 'assets/[name]-[hash].js'
|
|
|
+ }
|
|
|
+ },
|
|
|
terserOptions: {
|
|
|
compress: {
|
|
|
// 生产环境去除 console
|
|
|
@@ -101,7 +109,7 @@ export default ({ mode }: { mode: string }) => {
|
|
|
threshold: 10240, // 只有大小大于该值的资源会被处理 10240B = 10KB
|
|
|
deleteOriginFile: false // 压缩后是否删除原文件
|
|
|
}),
|
|
|
- vueDevTools()
|
|
|
+ // vueDevTools()
|
|
|
// 打包分析
|
|
|
// visualizer({
|
|
|
// open: true,
|
|
|
@@ -109,6 +117,7 @@ export default ({ mode }: { mode: string }) => {
|
|
|
// brotliSize: true,
|
|
|
// filename: 'dist/stats.html' // 分析图生成的文件名及路径
|
|
|
// }),
|
|
|
+ legacy({ targets: ['defaults', 'not IE 11'] })
|
|
|
],
|
|
|
css: {
|
|
|
preprocessorOptions: {
|