85 lines
2.8 KiB
TypeScript
85 lines
2.8 KiB
TypeScript
import { defineConfig } from 'vite'
|
|
import vue from '@vitejs/plugin-vue'
|
|
import AutoImport from 'unplugin-auto-import/vite'
|
|
import Components from 'unplugin-vue-components/vite'
|
|
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
|
|
import ElementPlus from 'unplugin-element-plus/vite'
|
|
import { resolve } from "path";
|
|
|
|
// https://vitejs.dev/config/
|
|
export default defineConfig({
|
|
plugins: [vue(),
|
|
AutoImport({
|
|
resolvers: [ElementPlusResolver()],
|
|
}),
|
|
Components({
|
|
resolvers: [ElementPlusResolver()],
|
|
}),
|
|
ElementPlus({
|
|
// options
|
|
})
|
|
],
|
|
server: {
|
|
host: "0.0.0.0",
|
|
proxy: {
|
|
"^/api": {
|
|
target: "http://localhost:4873/",
|
|
changeOrigin: true,
|
|
},
|
|
"^/static": {
|
|
target: "http://localhost:4873/resource/",
|
|
changeOrigin: true,
|
|
},
|
|
"^/set/log/level": {
|
|
target: "http://192.168.1.89:4873/",
|
|
changeOrigin: true,
|
|
},
|
|
"^/cache/image/": {
|
|
target: "http://192.168.1.102:1221/",
|
|
changeOrigin: true,
|
|
},
|
|
"^/get/service/": {
|
|
target: "http://192.168.1.102:1221/",
|
|
changeOrigin: true,
|
|
},
|
|
}
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
"@": resolve(__dirname, "src"),
|
|
},
|
|
},
|
|
build: {
|
|
cssCodeSplit: true, // 如果设置为false,整个项目中的所有 CSS 将被提取到一个 CSS 文件中
|
|
sourcemap: false, // 构建后是否生成 source map 文件。如果为 true,将会创建一个独立的 source map 文件
|
|
target: 'modules', // 设置最终构建的浏览器兼容目标。默认值是一个 Vite 特有的值——'modules' 还可设置为 'es2015' 'es2016'等
|
|
chunkSizeWarningLimit: 550, // 单位kb 打包后文件大小警告的限制 (文件大于此此值会出现警告)
|
|
assetsInlineLimit: 4096, // 单位字节(1024等于1kb) 小于此阈值的导入或引用资源将内联为 base64 编码,以避免额外的 http 请求。设置为 0 可以完全禁用此项。
|
|
// minify: false,
|
|
minify:'terser', // 'terser', // 'terser' 相对较慢,但大多数情况下构建后的文件体积更小。'esbuild' 最小化混淆更快但构建后的文件相对更大。
|
|
lib: {
|
|
// 入口文件
|
|
entry: './src/Magnet.ts',
|
|
// 名称
|
|
name: 'Magnet',
|
|
// 格式,可选 'es', 'umd', 'iife'
|
|
formats: ['es','iife']
|
|
},
|
|
rollupOptions: {
|
|
external: ['element-plus', 'vue', 'path', 'url', 'node','funjiaui','reflect-metadata','lodash-es','axois','funjia-axios'],
|
|
output: {
|
|
globals: {
|
|
"elementPlus": "element-plus",
|
|
"vue": "vue",
|
|
},
|
|
}
|
|
},
|
|
terserOptions: {
|
|
compress: {
|
|
drop_console: true, // 生产环境去除console
|
|
drop_debugger: true // 生产环境去除debugger
|
|
}
|
|
}
|
|
}
|
|
})
|