vite.config.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import { defineConfig } from 'vite'
  2. import vue from '@vitejs/plugin-vue'
  3. import { MonacoEditorNls } from './src/plugins/monaco-editor-nls.js'
  4. import { MonacoExcludeLanguages } from './src/plugins/monaco-exclude-languages.js'
  5. const buildIndex = () => {
  6. return {
  7. name: 'html-transform',
  8. transformIndexHtml(html) {
  9. return html.replace(/@VERSION@/g, require('./package.json').version)
  10. }
  11. }
  12. }
  13. // https://vitejs.dev/config/
  14. export default defineConfig({
  15. base: './',
  16. optimizeDeps: {
  17. esbuildOptions: {
  18. plugins: [
  19. MonacoEditorNls(true),
  20. MonacoExcludeLanguages(true)
  21. ]
  22. }
  23. },
  24. server: {
  25. host: true
  26. },
  27. build: {
  28. cssCodeSplit: false,
  29. rollupOptions: {
  30. // 屏蔽不需要的语言
  31. output: {
  32. minifyInternalExports: true,
  33. manualChunks: (id, { getModuleInfo }) => {
  34. if (id.includes('node_modules')) {
  35. if(id.includes('axios')){
  36. return 'axios'
  37. }
  38. if(id.includes('vue')){
  39. return 'vue'
  40. }
  41. return 'vendor';
  42. } else if(id.includes('/src/')){
  43. return 'app'
  44. }
  45. }
  46. },
  47. }
  48. },
  49. plugins: [
  50. vue(),
  51. buildIndex(),
  52. MonacoEditorNls(),
  53. MonacoExcludeLanguages()
  54. ]
  55. })