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.

146 lines
4.6 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. '~/middleware/redirects.js'
  33. ],
  34. // Global CSS: https://go.nuxtjs.dev/config-css
  35. css: [
  36. '~assets/css/main.css'
  37. ],
  38. // Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
  39. plugins: [
  40. { src: '~/plugins/vue2-leaflet-markercluster.js', mode: 'client' },
  41. '~plugins/v-mask.js',
  42. '~plugins/vue-phone-number-input.js'
  43. ],
  44. // Auto import components: https://go.nuxtjs.dev/config-components
  45. components: true,
  46. router: {
  47. extendRoutes (routes, resolve) {
  48. routes.push(
  49. {
  50. name: 'go-orig-dest',
  51. path: '/go/:o/:d',
  52. component: resolve(__dirname, 'pages/go.vue')
  53. },
  54. {
  55. name: 'go-orig',
  56. path: '/go/:o',
  57. component: resolve(__dirname, 'pages/go.vue')
  58. },
  59. {
  60. name: 'dates-orig-dest',
  61. path: '/dates/:o/:d',
  62. component: resolve(__dirname, 'pages/dates.vue')
  63. },
  64. {
  65. name: 'flights-orig-dest-departure-time',
  66. path: '/flights/:o/:d/:departure/:time',
  67. component: resolve(__dirname, 'pages/flights.vue')
  68. },
  69. {
  70. name: 'flights-orig-dest-departure',
  71. path: '/flights/:o/:d/:departure',
  72. component: resolve(__dirname, 'pages/flights.vue')
  73. }
  74. )
  75. }
  76. },
  77. // Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
  78. buildModules: [
  79. // https://go.nuxtjs.dev/eslint
  80. //'@nuxtjs/eslint-module',
  81. // https://go.nuxtjs.dev/stylelint
  82. '@nuxtjs/stylelint-module',
  83. // https://go.nuxtjs.dev/tailwindcss
  84. '@nuxtjs/tailwindcss',
  85. '@nuxtjs/style-resources'
  86. ],
  87. styleResources: {
  88. scss: [
  89. '~assets/scss/mixins.scss',
  90. '~assets/scss/variables.scss'
  91. ]
  92. },
  93. // Modules: https://go.nuxtjs.dev/config-modules
  94. modules: [
  95. // https://go.nuxtjs.dev/axios
  96. '@nuxtjs/axios',
  97. // https://go.nuxtjs.dev/pwa
  98. '@nuxtjs/pwa',
  99. 'nuxt-leaflet',
  100. 'nuxt-vue-select',
  101. [
  102. '@adinvadim/nuxt-segment-analytics',
  103. {
  104. id: (process.env.NODE_ENV !== 'production') ? "9dEbke7oGZjUCbF01hbcycoHxrpLvVBV" : "QpcGXqVfScXUfRPbAGkbtyst6x5HNpRf",
  105. useRouter: true
  106. }]
  107. ],
  108. // Axios module configuration: https://go.nuxtjs.dev/config-axios
  109. axios: {},
  110. // PWA module configuration: https://go.nuxtjs.dev/pwa
  111. pwa: {
  112. manifest: {
  113. lang: 'en'
  114. }
  115. },
  116. // Build Configuration: https://go.nuxtjs.dev/config-build
  117. build: {
  118. extend (config, ctx) {
  119. if (ctx.isDev) {
  120. config.devtool = ctx.isClient ? 'source-map' : 'inline-source-map'
  121. }
  122. },
  123. loaders: {
  124. sass: {
  125. implementation: require('sass')
  126. },
  127. scss: {
  128. implementation: require('sass')
  129. }
  130. }
  131. },
  132. dev: process.env.NODE_ENV !== 'production'
  133. }