123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- import { defineConfig } from 'vite'
- import vue from '@vitejs/plugin-vue'
- import { resolve } from 'path'
- import fs from 'fs';
- import AutoImport from 'unplugin-auto-import/vite'
- import Components from 'unplugin-vue-components/vite'
- import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
- import Icons from 'unplugin-icons/vite'
- import IconsResolver from 'unplugin-icons/resolver'
- import topLevelAwait from 'vite-plugin-top-level-await'
- import ElementPlus from 'unplugin-element-plus/vite'
- export default defineConfig(({ mode}) => {
- return{
- base: './',
- css: {
- preprocessorOptions: {
- scss: {
-
- additionalData: `@use "@/assets/style/element/index.scss" as *;`,
- },
- },
- },
- plugins: [
- vue(),
- ElementPlus({
- useSource: true,
- }),
- AutoImport({
- imports: ["vue", "vue-router"],
- resolvers: [
- IconsResolver(),
- ElementPlusResolver({
-
-
- importStyle: mode === "development" ? false : "sass",
- })
- ],
- }),
- Components({
- resolvers: [
- IconsResolver(),
- ElementPlusResolver({
-
-
- importStyle: mode === "development" ? false : "sass",
- })
- ],
- }),
- Icons({
- autoInstall: true,
- }),
- topLevelAwait({
-
- promiseExportName: '__tla',
-
- promiseImportName: i => `__tla_${i}`
- })
- ],
- server: {
- host: '0.0.0.0',
- port: 8080,
- open: false,
- hmr:true,
- cors: true,
- proxy: {
- '/api': {
- target: "http://idea-ad.wenxingshuju.com",
- changeOrigin: true,
- secure: false,
- },
- }
- },
- resolve:{
- alias:[
- {
- find:'@',
- replacement:resolve(__dirname,'src')
- }
- ]
- },
- build: {
- outDir: "dist",
-
-
-
- sourcemap: false,
- minify: 'terser',
- chunkSizeWarningLimit: 1500,
- terserOptions: {
- compress: {
- drop_console: true,
- drop_debugger: true
- }
- },
- rollupOptions: {
- output: {
- manualChunks(id) {
- if (id.includes('node_modules')) {
- return id
- .toString()
- .split('node_modules/')[1]
- .split('/')[0]
- .toString();
- }
- },
- chunkFileNames: (chunkInfo) => {
- const facadeModuleId = chunkInfo.facadeModuleId
- ? chunkInfo.facadeModuleId.split('/')
- : [];
- const fileName =
- facadeModuleId[facadeModuleId.length - 2] || '[name]';
- return `js/${fileName}/[name].[hash].js`;
- }
- }
- }
- },
- }
- })
|