nuxt.config.ts 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. // https://nuxt.com/docs/api/configuration/nuxt-config
  2. import VitePluginSRI from 'vite-plugin-sri';
  3. export default defineNuxtConfig({
  4. typescript: {
  5. strict: false,
  6. typeCheck: false
  7. },
  8. ssr: false,
  9. app: {
  10. head: {
  11. titleTemplate: '',
  12. title: 'ShopDeli',
  13. htmlAttrs: {
  14. lang: 'ko'
  15. },
  16. link: [
  17. { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
  18. ],
  19. script: [
  20. { type: 'text/javascript', src: '//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js' },
  21. { type: 'text/javascript', src: "/js/jquery-3.7.1.min.js" },
  22. ]
  23. },
  24. },
  25. devtools: { enabled: false },
  26. devServer : {
  27. //host: '0.0.0.0'
  28. },
  29. build: {
  30. transpile: ['vuetify'],
  31. },
  32. css: [
  33. 'ag-grid-community/styles/ag-grid.css',
  34. 'ag-grid-community/styles/ag-theme-quartz.css',
  35. 'pretendard/dist/web/static/pretendard.css',
  36. '~/assets/scss/main.scss',
  37. 'vuetify/lib/styles/main.sass',
  38. '@mdi/font/css/materialdesignicons.min.css',
  39. '@fortawesome/fontawesome-svg-core/styles.css'
  40. ],
  41. modules: [
  42. '@pinia/nuxt',
  43. '@pinia-plugin-persistedstate/nuxt',
  44. 'nuxt-lodash',
  45. 'dayjs-nuxt',
  46. ],
  47. plugins: [
  48. { src: '~/plugins/userAgent.js', mode: 'client'},
  49. { src: '~/plugins/vue3-editor.js', mode: 'client'},
  50. { src: '~/plugins/vue-cool-lightbox.js', mode: 'client'},
  51. { src: '~/plugins/fontawesome.js', mode: 'client'}
  52. ],
  53. lodash: {
  54. prefix: "_",
  55. prefixSkip: ["string"],
  56. upperAfterPrefix: false,
  57. exclude: ["map"],
  58. alias: [
  59. ["camelCase", "stringToCamelCase"], // => stringToCamelCase
  60. ["kebabCase", "stringToKebab"], // => stringToKebab
  61. ["isDate", "isLodashDate"], // => _isLodashDate
  62. ],
  63. },
  64. dayjs: {
  65. locales: ['en', 'ja'],
  66. defaultLocale: 'en',
  67. defaultTimezone: 'Asia/Tokyo',
  68. plugins: ['relativeTime', 'utc', 'timezone']
  69. },
  70. builder: 'vite',
  71. vite: {
  72. base: import.meta.env.VITE_APP_BASE_URL,
  73. define: {
  74. 'process.env.DEBUG': false,
  75. },
  76. plugins: [
  77. VitePluginSRI(),
  78. ],
  79. build: {
  80. chunkSizeWarningLimit: 1600,
  81. sourcemap: true,
  82. rollupOptions: {
  83. output: {
  84. chunkFileNames: '_nuxt/chunks/[name].js',
  85. entryFileNames: '_nuxt/js/[name].js',
  86. assetFileNames: '_nuxt/[name].[ext]',
  87. }
  88. },
  89. }
  90. },
  91. compatibilityDate: '2024-08-23',
  92. })