nuxt.config.ts 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. // https://nuxt.com/docs/api/configuration/nuxt-config
  2. export default defineNuxtConfig({
  3. modules: ['@vueuse/nuxt', '@pinia/nuxt', '@nuxt/icon', '@nuxt/image'],
  4. compatibilityDate: '2025-07-15',
  5. // devtools: { enabled: true },
  6. css: ['~/assets/scss/main.scss'], // 全局样式文件
  7. plugins: ['~/plugins/index.js'],
  8. app: {
  9. head: {
  10. meta: [
  11. { name: 'viewport', content: 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' }
  12. ]
  13. }
  14. },
  15. postcss: {
  16. plugins: {
  17. 'postcss-pxtorem': {
  18. rootValue: 37.5,
  19. unitPrecision: 4,
  20. propList: ['*'],
  21. selectorBlackList: [],
  22. replace: true,
  23. mediaQuery: false,
  24. minRemValue: 0,
  25. exclude: e => {
  26. if (e.includes('/app/pages/mobile/') || e.includes('/app/components/mobile/') || e.includes('/app/layouts/mobile.vue')) {
  27. return false
  28. } else {
  29. return true
  30. }
  31. }
  32. }
  33. }
  34. },
  35. icon: {
  36. localApiEndpoint: '/nuxt-icon'
  37. },
  38. image: {
  39. // format: ['avif', 'webp', 'png']
  40. format: ['webp', 'png']
  41. },
  42. nitro: {
  43. devProxy: {
  44. '/api': {
  45. target: 'http://localhost:8080', // 你的后端地址
  46. changeOrigin: true,
  47. prependPath: true
  48. }
  49. }
  50. },
  51. routeRules: {
  52. '/web/**': { appLayout: 'web' },
  53. '/mobile/**': { appLayout: 'mobile' }
  54. }
  55. // vite: {
  56. // css: {
  57. // preprocessorOptions: {
  58. // scss: {
  59. // additionalData: '@use "~/assets/_colors.scss" as *;'
  60. // }
  61. // }
  62. // }
  63. // }
  64. })