Files
openprint/vite.config.ts
2026-08-12 20:01:35 +08:00

59 lines
1.8 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from 'vite-plugin-vue-devtools'
import unocss from 'unocss/vite'
// https://vite.dev/config/
export default defineConfig({
plugins: [vue(), vueDevTools(), unocss()],
server: {
host: '0.0.0.0',
port: 5227,
open: true,
},
preview: {
port: 5227,
host: '0.0.0.0'
},
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
// CodeMirror 6 子包必须单例,否则 instanceof 检查失败("multiple instances of @codemirror/state"
dedupe: ['@codemirror/state', '@codemirror/view', '@codemirror/language', '@codemirror/commands', '@lezer/common', '@lezer/highlight', '@lezer/lr', '@lezer/json'],
},
optimizeDeps: {
// 预打包,避免运行时动态 import 触发二次优化导致 dev server 重启
// (tiptap 相关:富文本编辑器 defineAsyncComponent 懒加载,若不在 include 里,
// 首次选中富文本时会触发 re-optimize 删除 deps_temp,被 safe-delete 守卫拦崩 dev server
include: [
'ajv',
'fabric',
'qrcode',
'@bwip-js/generic',
'@tiptap/vue-3',
'@tiptap/starter-kit',
'@tiptap/extension-text-style',
'@tiptap/extension-font-family',
'codemirror',
'vue-codemirror6',
'@codemirror/lang-json',
],
},
build: {
// jspdf + svg2pdf.js 走动态 import,避免进主包
rollupOptions: {
output: {
manualChunks(id: string) {
if (id.includes('node_modules')) {
if (id.includes('jspdf') || id.includes('svg2pdf')) return 'pdf'
if (id.includes('fabric')) return 'fabric'
}
},
},
},
},
})