Files
vtsuru.live/vite.config.mts
Megghy 07948e6777 feat: 更新项目配置和依赖,增强功能和用户体验
- 完成弹幕机功能
- 在 .editorconfig 中新增对 vine.ts 文件的支持。
- 更新 package.json 中多个依赖的版本,提升稳定性和性能。
- 在 vite.config.mts 中引入 @guolao/vue-monaco-editor 插件,增强代码编辑功能。
- 在 App.vue 中调整内容填充的样式,优化界面布局。
- 新增获取配置文件哈希的 API 方法,提升配置管理能力。
- 在多个组件中优化了样式和逻辑,提升用户交互体验。
2025-04-25 00:08:06 +08:00

71 lines
2.2 KiB
TypeScript

// vite.config.ts
import vue from '@vitejs/plugin-vue';
import vueJsx from '@vitejs/plugin-vue-jsx';
import path, { resolve } from 'path';
import Markdown from 'unplugin-vue-markdown/vite';
import { defineConfig } from 'vite';
import monacoEditorPluginModule from 'vite-plugin-monaco-editor';
import caddyTls from './plugins/vite-plugin-caddy';
import { VineVitePlugin } from 'vue-vine/vite';
import AutoImport from 'unplugin-auto-import/vite';
import Components from 'unplugin-vue-components/vite';
import { NaiveUiResolver } from 'unplugin-vue-components/resolvers';
import oxlintPlugin from 'vite-plugin-oxlint';
import svgLoader from 'vite-svg-loader'
import { install as VueMonacoEditorPlugin } from '@guolao/vue-monaco-editor'
const isObjectWithDefaultFunction = (
module: unknown
): module is { default: typeof monacoEditorPluginModule; } =>
module != null &&
typeof module === 'object' &&
'default' in module &&
typeof module.default === 'function';
export default defineConfig({
plugins: [
vue({
script: { propsDestructure: true, defineModel: true },
include: [/\.vue$/, /\.md$/],
template: {
compilerOptions: { isCustomElement: (tag) => tag.startsWith('yt-') }
}
}),
vueJsx(),
svgLoader(),
Markdown({
/* options */
}),
caddyTls(),
AutoImport({
imports: ['vue', 'vue-router', '@vueuse/core', 'pinia', 'date-fns', {
'naive-ui': [
'useDialog',
'useMessage',
'useNotification',
'useLoadingBar'
]
}],
dts: 'src/auto-imports.d.ts'
}),
Components({
resolvers: [NaiveUiResolver()],
dts: 'src/components.d.ts',
// allow auto load markdown components under `./src/components/`
extensions: ['vue', 'md'],
// allow auto import and register components used in markdown
include: [/\.vue$/, /\.vue\?vue/, /\.md$/, /\.vine$/],
}),
oxlintPlugin(),
VineVitePlugin(),
],
server: { port: 51000 },
resolve: { alias: { '@': path.resolve(__dirname, 'src') } },
define: { 'process.env': {}, global: 'window' },
optimizeDeps: {
include: ['@vicons/fluent', '@vicons/ionicons5', 'vue', 'vue-router']
},
build: { sourcemap: true },
});