nuxt.config.ts 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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. const isDev = process.env.NODE_ENV === 'development';
  7. const appType = process.env.APP_TYPE;
  8. const SERVICE = process.env.SERVICE;
  9. export default defineNuxtConfig({
  10. ssr: false,
  11. nitro: {
  12. output: {
  13. dir: isDev ? undefined : `.output-${appType}`
  14. },
  15. preset: 'static'
  16. },
  17. css: [
  18. "@/assets/style/variable.scss",
  19. "@/assets/style/reset.scss",
  20. "@/assets/style/base.scss",
  21. "@/assets/iconfont/iconfont.css",
  22. // "element-plus/dist/index.css",
  23. ],
  24. modules: ["@pinia/nuxt"],
  25. vite: {
  26. // Vite 在开发模式下会对第三方依赖(node_modules)做一次 预打包(pre-bundling),以便提高运行时性能。
  27. optimizeDeps: {
  28. include: [
  29. "element-plus",
  30. "axios",
  31. "qs",
  32. "pinia",
  33. "pinia-plugin-persistedstate",
  34. "@gtm-support/vue-gtm",
  35. "vue3-google-map",
  36. "vue3-slide-verify",
  37. "qrcanvas",
  38. ],
  39. },
  40. // SSR 打包时被内联进产物,而不是被当成外部依赖由 Node 直接加载
  41. ssr: {
  42. noExternal: ["@popperjs/core", "element-plus"],
  43. },
  44. css: {
  45. preprocessorOptions: {
  46. scss: {
  47. additionalData: '@use "@/assets/style/theme.scss" as *;',
  48. quietDeps: true, // 禁用 Deprecation Warning
  49. },
  50. },
  51. },
  52. plugins: [
  53. ElementPlus({}), // 自动按需引入样式
  54. AutoImport({
  55. resolvers: [ElementPlusResolver()],
  56. }),
  57. Components({
  58. resolvers: [ElementPlusResolver()],
  59. }),
  60. ],
  61. server: {
  62. proxy: {
  63. "/api": {
  64. target: "http://xinke-alb-1217859923.ap-southeast-1.elb.amazonaws.com:18001",
  65. changeOrigin: true,
  66. rewrite: (path) => path.replace(/^\/api/, ""),
  67. },
  68. },
  69. hmr: {
  70. overlay: false, // 关闭 HMR 警告/错误弹窗
  71. },
  72. },
  73. build: {
  74. rollupOptions: {
  75. // 开启产物文件分析
  76. // plugins: [visualizer({ open: true })],
  77. },
  78. },
  79. },
  80. runtimeConfig: {
  81. public: {
  82. appType,
  83. supplierUrl: SERVICE === 'test' ? 'http://54.46.9.88:82/user/login' : 'https://seller.njnaexport.com/user/login',
  84. serverPath: SERVICE === 'test' ? 'http://54.46.9.88:8001/' : 'http://xinke-alb-1217859923.ap-southeast-1.elb.amazonaws.com:18001'
  85. }
  86. },
  87. app: {
  88. head: {
  89. htmlAttrs: {
  90. lang: "en",
  91. },
  92. },
  93. },
  94. });