返回 slidev
vite.config.ts
根目录 / docs / vite.config.ts
1 import UnoCSS from 'unocss/vite'
2 import IconsResolver from 'unplugin-icons/resolver'
3 import Icons from 'unplugin-icons/vite'
4 import Components from 'unplugin-vue-components/vite'
5 import { defineConfig } from 'vite'
6 import Inspect from 'vite-plugin-inspect'
7 import { groupIconVitePlugin } from 'vitepress-plugin-group-icons'
8 import llmstxt from 'vitepress-plugin-llms'
9 import config, { slidebars } from './.vitepress/config'
10
11 const IS_ROOT_ENGLISH_DOC = config.locales?.root.label.includes('English') || false
12
13 export default defineConfig({
14 optimizeDeps: {
15 exclude: [
16 'vue-demi',
17 '@vueuse/shared',
18 '@vueuse/core',
19 ],
20 },
21 server: {
22 hmr: {
23 overlay: false,
24 },
25 },
26 plugins: [
27 IS_ROOT_ENGLISH_DOC && llmstxt({
28 ignoreFiles: [
29 'index.md',
30 'README.md',
31 ],
32 sidebar: slidebars,
33 }),
34 Components({
35 dirs: [
36 './.vitepress/theme/components',
37 './node_modules/@slidev/client/builtin',
38 ],
39 extensions: ['vue', 'md'],
40 include: [/\.vue$/, /\.vue\?vue/, /\.md$/, /\.md\?vue/],
41 resolvers: [
42 IconsResolver({
43 prefix: '',
44 }),
45 ],
46 }),
47 Icons({
48 defaultStyle: 'display: inline-block;',
49 }),
50 Inspect(),
51 UnoCSS(),
52 groupIconVitePlugin(),
53 ],
54 })
55
55 lines TYPESCRIPT