nuxt.config.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import AutoImport from "unplugin-auto-import/vite";
  2. import Components from "unplugin-vue-components/vite";
  3. import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
  4. import ElementPlus from "unplugin-element-plus/vite";
  5. // import { visualizer } from 'rollup-plugin-visualizer'
  6. export default defineNuxtConfig({
  7. css: [
  8. "@/assets/style/variable.scss",
  9. "@/assets/style/reset.scss",
  10. "@/assets/style/base.scss",
  11. "@/assets/iconfont/iconfont.css",
  12. // "element-plus/dist/index.css",
  13. ],
  14. modules: ["@pinia/nuxt"],
  15. vite: {
  16. // cacheDir: ".vite-cache", // 指定 vite 缓存位置(默认就是这个)
  17. optimizeDeps: {
  18. // include: ['element-plus', '@popperjs/core'],
  19. },
  20. // SSR 打包时被内联进产物,而不是被当成外部依赖由 Node 直接加载
  21. ssr: {
  22. noExternal: ['@popperjs/core', 'element-plus'],
  23. },
  24. css: {
  25. preprocessorOptions: {
  26. scss: {
  27. additionalData: '@use "@/assets/style/theme.scss" as *;',
  28. quietDeps: true, // 禁用 Deprecation Warning
  29. },
  30. },
  31. },
  32. plugins: [
  33. ElementPlus({}), // 自动按需引入样式
  34. AutoImport({
  35. resolvers: [ElementPlusResolver()],
  36. }),
  37. Components({
  38. resolvers: [ElementPlusResolver()],
  39. }),
  40. ],
  41. server: {
  42. proxy: {
  43. "/api": {
  44. target: "http://54.46.9.88:8001/",
  45. changeOrigin: true,
  46. rewrite: (path) => path.replace(/^\/api/, ""),
  47. },
  48. },
  49. hmr: {
  50. overlay: false, // 关闭 HMR 警告/错误弹窗
  51. },
  52. },
  53. // 👇 开发环境强制打成一个 chunk
  54. build:
  55. process.env.NODE_ENV === "development"
  56. ? {
  57. rollupOptions: {
  58. output: {
  59. manualChunks: () => "index.js", // 所有打进一个 chunk
  60. },
  61. },
  62. }
  63. : undefined
  64. // build: {
  65. // rollupOptions: {
  66. // plugins: [
  67. // visualizer({ open: true }),
  68. // ],
  69. // },
  70. // },
  71. },
  72. runtimeConfig: {},
  73. app: {
  74. head: {
  75. htmlAttrs: {
  76. lang: "en",
  77. },
  78. },
  79. },
  80. // plugins: ["~/plugins/vue-warn-handler.js"],
  81. build: {
  82. // transpile: ["element-plus"],
  83. },
  84. });