| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- import postcss from './postcss.config.cjs';
- import { defineConfig } from 'vite';
- import { svelte } from '@sveltejs/vite-plugin-svelte';
- import md from 'rollup-plugin-md';
- import svgSprite from 'rollup-plugin-stdf-icon';
- // https://vitejs.dev/config/
- export default defineConfig({
- base: '/',
- plugins: [
- // @ts-ignore
- svelte(),
- // @ts-ignore
- md({
- // to disable marked set to false
- marked: {
- //marked options
- },
- include: ['../doc/**/*.md', './src/pages/guide/**/*.md', '../packages/**/*.md'],
- }),
- svgSprite([{ inFile: 'src/assets/svgs', outFile: 'public/fonts', fileName: 'symbol' }]),
- ],
- css: { postcss },
- server: {
- hmr: true,
- host: '0.0.0.0',
- port: 5555,
- // 是否开启 https
- https: false,
- },
- build: {
- assetsDir: 'build',
- rollupOptions: {
- manualChunks: id => {
- // 将 node_modules 中的包拆分到单独的 build/node_modules.js 文件中
- if (id.includes('node_modules')) {
- return 'vendor/index';
- }
- // 将 src/components/menu 中的包拆分到单独的 build/common/menu/index.js 文件中
- if (id.includes('site/src/components/menu')) {
- return 'common/menu/index';
- }
- // 将 src/pages/Home.svelte 单独拆分到 build/home/index.js 文件中
- if (id.includes('src/pages/Home.svelte')) {
- return 'home/index';
- }
- // 将 src/pages/guide/Guide.svelte 单独拆分到 build/guide/index.js 文件中
- if (id.includes('src/pages/guide/Guide.svelte')) {
- return 'guide/index';
- }
- const guide = [
- 'QuickStart',
- 'Theme',
- 'Faq',
- 'Color',
- 'Color_en',
- 'Icon',
- 'Internation',
- 'Compatibility',
- 'Logo',
- 'About',
- 'Changelog',
- 'Future',
- 'Shortkey',
- 'Contribution',
- 'Milestone',
- 'Vscode',
- 'Generator',
- ];
- // 循环遍历 guide 文件夹下的所有文件,将其单独拆分到 build/guide/xxx/index.js 文件中
- for (const item of guide) {
- if (id.includes(`src/pages/guide/${item}.svelte`)) {
- return `guide/${item}/index`;
- }
- }
- // 将 src/pages/components/Components.svelte 单独拆分到 build/components/index.js 文件中
- if (id.includes('src/pages/components/Components.svelte')) {
- return 'components/index';
- }
- const components = ['Api', 'Component', 'FAQ', 'Guide', 'Version'];
- // 循环遍历 components 文件夹下的所有文件,将其单独拆分到 build/components/xxx/index.js 文件中
- for (const item of components) {
- if (id.includes(`src/pages/components/${item}.svelte`)) {
- return `components/${item}/index`;
- }
- }
- // 如果 id 包含 doc/guide/xxx.md 则单独拆分到 build/doc/guide/xxx/index.js 文件中
- if (id.includes('doc/guide/')) {
- return 'doc/guide/' + id.match(/doc\/guide\/(.*)\.md/)[1] + '/index';
- }
- // 如果 id 包含 doc/components/xxx.md 则单独拆分到 build/doc/components/xxx/index.js 文件中
- if (id.includes('doc/components/')) {
- return 'doc/components/' + id.match(/doc\/components\/(.*)\.md/)[1] + '/index';
- }
- },
- },
- },
- });
|