const gtmCode = process.env.ENV === 'prod'
|
? 'GTM-TFKVGTH'
|
: process.env.ENV === 'uat' ? 'GTM-W2XMVJZT' : 'GTM_XXXXXXX';
|
|
export default {
|
// Disable server-side rendering: https://go.nuxtjs.dev/ssr-mode
|
ssr: false,
|
|
// Target: https://go.nuxtjs.dev/config-target
|
target: 'static',
|
|
// Global page headers: https://go.nuxtjs.dev/config-head
|
head: {
|
title: '保誠人壽保險顧問媒合平台',
|
htmlAttrs: {
|
lang: 'en'
|
},
|
meta: [
|
{ charset: 'utf-8' },
|
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
|
{ hid: 'description', name: 'description', content: '' },
|
{ name: 'format-detection', content: 'telephone=no' }
|
],
|
link: [
|
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
|
],
|
script: [
|
{
|
src: `https://www.googletagmanager.com/gtm.js?id=${ gtmCode }`,
|
async: true,
|
},
|
],
|
},
|
layoutTransition:'pam-fade-in',
|
pageTransition:'pam-fade-in',
|
// Global CSS: https://go.nuxtjs.dev/config-css
|
css: [
|
'element-ui/lib/theme-chalk/index.css',
|
'swiper/css/swiper.css',
|
'vue-scroll-picker/dist/style.css',
|
'~/assets/scss/main.scss',
|
'~/assets/pam-animation.css'
|
],
|
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
|
plugins: [
|
'~/plugins/element-ui.js',
|
{ src: '~/plugins/vue-awesome-swiper.js', mode: 'client' },
|
'~/plugins/service.ts',
|
'~/plugins/vue-scroll-picker',
|
'~/plugins/filters/date.filter.ts',
|
'~/plugins/filters/age.filter.ts',
|
'~/plugins/filters/consultation-method.filter.ts',
|
'~/plugins/filters/appointment-fail-reason.filter.ts',
|
'~/plugins/filters/serve-area.filter.ts',
|
],
|
|
// Auto import components: https://go.nuxtjs.dev/config-components
|
components: true,
|
// loading
|
loading: '~/components/loading.vue',
|
|
// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
|
buildModules: [
|
// https://go.nuxtjs.dev/typescript
|
'@nuxt/typescript-build',
|
'@nuxtjs/axios',
|
'@nuxtjs/style-resources',
|
['@nuxtjs/dotenv', { filename: '.env.' + process.env.ENV }],
|
// '@nuxtjs/gtm',
|
],
|
|
// gtm: {
|
// enabled: true, /* see below */
|
// debug: false,
|
//
|
// id: process.env.ENV === 'prod'
|
// ? 'GTM-TFKVGTH'
|
// : process.env.ENV === 'uat' ? 'GTM-W2XMVJZT' : 'GTM_XXXXXXX',
|
// layer: 'dataLayer',
|
// variables: {},
|
//
|
// pageTracking: true,
|
// pageViewEventName: 'nuxtRoute',
|
//
|
// autoInit: true,
|
// respectDoNotTrack: true,
|
//
|
// scriptId: 'gtm-script',
|
// scriptDefer: false,
|
// scriptURL: 'https://www.googletagmanager.com/gtm.js',
|
// crossOrigin: false,
|
//
|
// noscript: true,
|
// noscriptId: 'gtm-noscript',
|
// noscriptURL: 'https://www.googletagmanager.com/ns.html'
|
// },
|
//
|
// publicRuntimeConfig: {
|
// gtm: {
|
// id: process.env.GOOGLE_TAG_MANAGER_ID
|
// }
|
// },
|
|
// Build Configuration: https://go.nuxtjs.dev/config-build
|
build: {
|
},
|
styleResources: {
|
scss: [
|
'~/assets/scss/main.scss'
|
]
|
},
|
router: {
|
base: process.env.ENV === 'dev' ? '' : '/pam/',
|
mode: 'hash',
|
middleware: [ 'isLogin', 'getUrlQuery', 'errorRoute']
|
}
|
}
|