import { defineConfig } from 'vite' import { fileURLToPath, URL } from 'node:url' import vue from '@vitejs/plugin-vue' import VueSetupExtend from 'vite-plugin-vue-setup-extend' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' import { createStyleImportPlugin, ElementPlusResolve, } from "vite-plugin-style-import"; // 下载 vite-plugin-style-import 如遇到 Error: Cannot find module 'consola' 因为插件的使用了 consola 包,但是我们没有安装.所以需要安装 consola const packageJson = require('./package.json') const addr = '' // https://vitejs.dev/config/ // const webpack = require('webpack') // module.exports = { // // 在vue.config.js中configureWebpack中配置 // // 要引入webpack // configureWebpack: { // plugins: [ // new webpack.ProvidePlugin({ // 'window.Quill': 'quill/dist/quill.js', // Quill: 'quill/dist/quill.js' // }) // ] // } // } export default defineConfig(({ mode, command }) => { const CONSTANTS = { BUILDTIME: Math.floor(Date.now() / 1000), VERSION: packageJson.version, SHOULD_REMOVE_DEBUG_INFOS: ["production"].includes(mode), }; return { base: `${process.env.NODE_ENV === 'prod' ? addr : ''}./`, plugins: [ vue(), VueSetupExtend(), // 解决element-Puls自动引入部分样式不生效问题 createStyleImportPlugin({ resolves: [ElementPlusResolve()], }), AutoImport({ resolvers: [ElementPlusResolver()], }), Components({ resolvers: [ElementPlusResolver()], }), ], build: { rollupOptions: { output: { // 打包分支创建版本号 assetFileNames: `assets/[name].[hash].${CONSTANTS.VERSION}.[extname]`, chunkFileNames: `assets/[name].[hash].${CONSTANTS.VERSION}.js`, }, }, }, esbuild: { drop: CONSTANTS.SHOULD_REMOVE_DEBUG_INFOS ? ["console", "debugger"] : [], }, resolve: { alias: { "@": fileURLToPath(new URL("./src", import.meta.url)), }, }, server: { proxy: { '/api': { target: 'http://debugapi.mashangyl.com', pathRewrite: { '^/api': '' }, changeOrigin: true, }, }, cors: true, } } })