nuxt.config.ts 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. import { getEnvConfig } from './nuxt/env'
  2. import { loadEnv } from 'vite'
  3. const envScript = (process.env as any).npm_lifecycle_script.split(' ')
  4. const envName = envScript[envScript.length - 1] // 通过启动命令区分环境
  5. const envConfig = getEnvConfig()
  6. export default defineNuxtConfig({
  7. app: {
  8. layoutTransition: { name: 'layout', mode: 'out-in' },
  9. baseURL: envConfig.baseUrl,
  10. head: {
  11. title: '加载中...',
  12. meta: [
  13. { name: 'viewport', content: 'width=device-width, initial-scale=1' },
  14. {
  15. hid: 'description',
  16. name: 'description',
  17. content:
  18. 'Java商城,PC商城,CRMEB开源商城系统,新零售社交电商,小程序商城,公众号商城,免费商城系统源码,商城系统开发,开源商城系统,微商城源码,直播商城系统,多商户商城,B2B2C,私域电商,分销商城,高性能商城系统,陀螺匠OA系统',
  19. },
  20. ],
  21. link: [
  22. { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
  23. // { rel: 'stylesheet', type: 'text/css', href: '/fonts/iconfont.css' },
  24. { rel: 'stylesheet', type: 'text/css', href: '//at.alicdn.com/t/c/font_4138656_3e69hlfaevj.css' },
  25. { rel: '', type: 'text/css', href: '//at.alicdn.com/t/c/font_4138656_3e69hlfaevj.css' },
  26. ],
  27. },
  28. },
  29. ssr: false,
  30. // 开发服务器,
  31. devServer: {
  32. port: '192.168.31.185', //监听端口,默认3000,可以配置自己的ip地址
  33. host: '0.0.0.0', //默认值:localhost
  34. },
  35. css: ['~/assets/fonts/font.css', '~/assets/scss/index.scss', '~/assets/iconfont/iconfont.css', 'aos/dist/aos.css'],
  36. typescript: {
  37. strict: true,
  38. shim: false,
  39. },
  40. runtimeConfig: {
  41. public: {
  42. ...envConfig,
  43. },
  44. },
  45. // build modules
  46. modules: [
  47. '@vueuse/nuxt',
  48. '@unocss/nuxt',
  49. '@pinia/nuxt',
  50. '@element-plus/nuxt',
  51. '@nuxtjs/color-mode',
  52. '@fullpage/nuxt-fullpage',
  53. // 'nuxt-swiper',
  54. ],
  55. swiper: {
  56. // Swiper options
  57. //----------------------
  58. // prefix: 'Swiper',
  59. // styleLang: 'css',
  60. // modules: ['navigation', 'pagination'], // all modules are imported by default
  61. },
  62. // vueuse
  63. vueuse: {
  64. ssrHandlers: true,
  65. },
  66. // colorMode
  67. colorMode: {
  68. classSuffix: '',
  69. },
  70. plugins: [{ src: '~/plugins/fetch' }, { src: '~/plugins/vue-swiper', ssr: false }],
  71. unocss: {
  72. uno: true,
  73. attributify: true,
  74. icons: {
  75. scale: 1.2,
  76. },
  77. },
  78. vite: {
  79. envDir: '~/env', // 指定env文件夹
  80. css: {
  81. preprocessorOptions: {
  82. scss: {
  83. additionalData: `@use "@/assets/scss/element/index.scss" as element;`,
  84. },
  85. },
  86. },
  87. },
  88. elementPlus: {
  89. icon: 'ElIcon',
  90. importStyle: 'scss',
  91. themes: ['dark'],
  92. },
  93. })