You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

147 lines
4.7 KiB

3 years ago
  1. export default {
  2. // Global page headers: https://go.nuxtjs.dev/config-head
  3. head: {
  4. title: 'FlyLocal',
  5. meta: [
  6. { charset: 'utf-8' },
  7. { name: 'viewport', content: 'width=device-width, initial-scale=1' },
  8. { hid: 'description', name: 'description', content: 'FlyLocal is the best way to find local airlines that fly throughout the great state of Alaska. Explore the \'Last Frontier\' with FlyLocal.' },
  9. { name: 'format-detection', content: 'telephone=no' },
  10. { itemprop: 'name', content: 'Small Planes, Big Experiences' },
  11. { itemprop: 'description', content: 'FlyLocal is the best way to find local airlines that fly throughout the great state of Alaska. Explore the \'Last Frontier\' with FlyLocal.' },
  12. { itemprop: 'image', content: 'https://flylocal.us/screenshot.png' },
  13. { property: 'og:url', content: 'https://iflylocal.com/' },
  14. { property: 'og:type', content: 'website' },
  15. { property: 'og:title', content: 'Small Planes, Big Experiences' },
  16. { property: 'og:description', content: 'FlyLocal is the best way to find local airlines that fly throughout the great state of Alaska. Explore the \'Last Frontier\' with FlyLocal.' },
  17. { property: 'og:image', content: 'https://flylocal.us/screenshot.png' },
  18. { name: 'twitter:card', content: 'summary_large_image' },
  19. { name: 'twitter:title', content: 'Small Planes, Big Experiences' },
  20. { name: 'twitter:description', content: 'FlyLocal is the best way to find local airlines that fly throughout the great state of Alaska. Explore the \'Last Frontier\' with FlyLocal.' },
  21. { name: 'twitter:image', content: 'https://flylocal.us/screenshot.png' }
  22. ],
  23. link: [
  24. { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
  25. ]
  26. },
  27. server: (process.env.NODE_ENV !== 'production') ? {
  28. host: '192.168.178.100',
  29. port: 3010
  30. } : {},
  31. serverMiddleware: [
  32. { path: '/', handler: '~/middleware/redirects.js' },
  33. { path: '/login', handler: '~/login'}
  34. ],
  35. // Global CSS: https://go.nuxtjs.dev/config-css
  36. css: [
  37. '~assets/css/main.css'
  38. ],
  39. // Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
  40. plugins: [
  41. { src: '~/plugins/vue2-leaflet-markercluster.js', mode: 'client' },
  42. '~plugins/v-mask.js',
  43. '~plugins/vue-phone-number-input.js'
  44. ],
  45. // Auto import components: https://go.nuxtjs.dev/config-components
  46. components: true,
  47. router: {
  48. extendRoutes (routes, resolve) {
  49. routes.push(
  50. {
  51. name: 'go-orig-dest',
  52. path: '/go/:o/:d',
  53. component: resolve(__dirname, 'pages/go.vue')
  54. },
  55. {
  56. name: 'go-orig',
  57. path: '/go/:o',
  58. component: resolve(__dirname, 'pages/go.vue')
  59. },
  60. {
  61. name: 'dates-orig-dest',
  62. path: '/dates/:o/:d',
  63. component: resolve(__dirname, 'pages/dates.vue')
  64. },
  65. {
  66. name: 'flights-orig-dest-departure-time',
  67. path: '/flights/:o/:d/:departure/:time',
  68. component: resolve(__dirname, 'pages/flights.vue')
  69. },
  70. {
  71. name: 'flights-orig-dest-departure',
  72. path: '/flights/:o/:d/:departure',
  73. component: resolve(__dirname, 'pages/flights.vue')
  74. }
  75. )
  76. }
  77. },
  78. // Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
  79. buildModules: [
  80. // https://go.nuxtjs.dev/eslint
  81. //'@nuxtjs/eslint-module',
  82. // https://go.nuxtjs.dev/stylelint
  83. '@nuxtjs/stylelint-module',
  84. // https://go.nuxtjs.dev/tailwindcss
  85. '@nuxtjs/tailwindcss',
  86. '@nuxtjs/style-resources'
  87. ],
  88. styleResources: {
  89. scss: [
  90. '~assets/scss/mixins.scss',
  91. '~assets/scss/variables.scss'
  92. ]
  93. },
  94. // Modules: https://go.nuxtjs.dev/config-modules
  95. modules: [
  96. // https://go.nuxtjs.dev/axios
  97. '@nuxtjs/axios',
  98. // https://go.nuxtjs.dev/pwa
  99. '@nuxtjs/pwa',
  100. 'nuxt-leaflet',
  101. 'nuxt-vue-select',
  102. [
  103. '@adinvadim/nuxt-segment-analytics',
  104. {
  105. id: (process.env.NODE_ENV !== 'production') ? "9dEbke7oGZjUCbF01hbcycoHxrpLvVBV" : "QpcGXqVfScXUfRPbAGkbtyst6x5HNpRf",
  106. useRouter: true
  107. }]
  108. ],
  109. // Axios module configuration: https://go.nuxtjs.dev/config-axios
  110. axios: {},
  111. // PWA module configuration: https://go.nuxtjs.dev/pwa
  112. pwa: {
  113. manifest: {
  114. lang: 'en'
  115. }
  116. },
  117. // Build Configuration: https://go.nuxtjs.dev/config-build
  118. build: {
  119. extend (config, ctx) {
  120. if (ctx.isDev) {
  121. config.devtool = ctx.isClient ? 'source-map' : 'inline-source-map'
  122. }
  123. },
  124. loaders: {
  125. sass: {
  126. implementation: require('sass')
  127. },
  128. scss: {
  129. implementation: require('sass')
  130. }
  131. }
  132. },
  133. dev: process.env.NODE_ENV !== 'production'
  134. }