nuxt.config.ts 2.8 KB

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