import vue from "@vitejs/plugin-vue"; import { resolve } from "path"; import { defineConfig } from "vite"; import legacy from '@vitejs/plugin-legacy'; import { terser } from 'rollup-plugin-terser'; // https://vitejs.dev/config/ const pathResolve = (dir: string): string => { return resolve(__dirname, ".", dir); }; const alias: Record<string, string> = { "@": pathResolve("src"), }; export default defineConfig({ plugins: [ vue(), legacy({ targets: ['chrome 52'], additionalLegacyPolyfills: ['regenerator-runtime/runtime'], renderLegacyChunks: true, polyfills: [ 'es.symbol', 'es.promise', 'es.promise.finally', 'es/map', 'es/set', 'es.array.filter', 'es.array.for-each', 'es.array.flat-map', 'es.object.define-properties', 'es.object.define-property', 'es.object.get-own-property-descriptor', 'es.object.get-own-property-descriptors', 'es.object.keys', 'es.object.to-string', 'web.dom-collections.for-each', 'esnext.global-this', 'esnext.string.match-all' ] }), terser() ], base: "./", css: { preprocessorOptions: { scss: { /** * 单行溢出隐藏 @include single-hide(); * * 多行溢出隐藏 @include multi-hide(3); * * flex布局垂直水平居中 @include flex-center(); * */ additionalData: ` @mixin flex-center() { display: flex; justify-content: center; align-items: center; } @mixin single-hide() { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } @mixin multi-hide($num) { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: $num; } `, }, }, }, assetsInclude: ['**/*.TTF', '**/*.otf', 'SourceHanSansCN-Bold.otf', 'SourceHanSansCN-Regular.otf', 'STXINGKA.TTF'], server: { host: true, port: 8989, proxy: { "/zd-api": { target: "https://open.api.luojigou.vip", // target: "https://open.test.luojigou.vip", changeOrigin: true, rewrite: (path) => path.replace(/^\/zd-api/, ""), }, }, }, resolve: { alias, // 使用路径别名时想要省略的后缀名,可以自己 增减 extensions: [".js", ".json", ".ts", ".vue"], }, esbuild: { tsconfigRaw: false }, build:{ rollupOptions: { onwarn(warning, warn) { // 忽略所有警告 return } }, reportCompressedSize: false, chunkSizeWarningLimit: Infinity, } // build: { // target: 'esnext', // 输出 ESNext 代码 // minify: false, // 禁用代码压缩 // terserOptions: { // 'compress': false // } // 禁用 terser 压缩 // } });