constant.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import path from 'path'
  2. export const OUTPUT_DIR = 'dist'
  3. // monaco-editor 路径
  4. export const prefix = `monaco-editor/esm/vs`
  5. // chunk 警告大小
  6. export const chunkSizeWarningLimit = 2000
  7. // 禁用 brotliSize 压缩大小报告
  8. export const brotliSize = false
  9. // 分包
  10. export const rollupOptions = {
  11. output: {
  12. chunkFileNames: 'static/js/[name]-[hash].js',
  13. entryFileNames: 'static/js/[name]-[hash].js',
  14. assetFileNames: (chunkInfo) => {
  15. if(['.png', '.jpg', '.jpeg'].includes(path.extname(chunkInfo.name))) {
  16. return `static/[ext]/[name].[ext]`
  17. }
  18. return `static/[ext]/[name]-[hash].[ext]`
  19. },
  20. manualChunks: {
  21. jsonWorker: [`${prefix}/language/json/json.worker`],
  22. cssWorker: [`${prefix}/language/css/css.worker`],
  23. htmlWorker: [`${prefix}/language/html/html.worker`],
  24. tsWorker: [`${prefix}/language/typescript/ts.worker`],
  25. editorWorker: [`${prefix}/editor/editor.worker`]
  26. }
  27. }
  28. }
  29. // 去除开发代码
  30. export const terserOptions = {
  31. compress: {
  32. keep_infinity: true,
  33. drop_console: true,
  34. drop_debugger: true
  35. }
  36. }