-
Notifications
You must be signed in to change notification settings - Fork 53
/
nuxt.config.ts
104 lines (102 loc) · 2.65 KB
/
nuxt.config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
import { Configuration } from '@nuxt/types'
import i18n from './src/i18n'
import { isProduct, GA } from './src/constants'
const config: Configuration = {
mode: 'spa',
router: {
mode: 'history'
},
srcDir: './src',
head: {
titleTemplate: '%s',
title: 'Mornin',
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no' },
{
hid: 'description',
name: 'description',
content: process.env.npm_package_description || ''
}, {
hid: 'mobile-web-app-capable', name: 'mobile-web-app-capable', content: 'yes'
}, {
hid: 'theme-color', name: 'theme-color', content: '#040C11'
}, {
hid: 'apple-mobile-web-app-capable', name: 'apple-mobile-web-app-capable', content: 'yes'
}, {
hid: 'application-name', name: 'application-name', content: 'Mornin'
}, {
hid: 'apple-application-name', name: 'apple-application-name', content: 'Mornin'
}, {
hid: 'apple-mobile-web-app-title', name: 'apple-mobile-web-app-title', content: 'Mornin'
}, {
hid: 'og:title', name: 'og:title', content: 'Mornin'
}, {
hid: 'og:site_name', name: 'og:site_name', content: 'Mornin'
}
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
{ rel: 'apple-touch-icon', type: 'image/png', href: '/favicon.png' }
]
},
loading: { color: '#fff' },
css: ['~/styles/index.scss'],
plugins: [
'~/plugins/vuex-persistedstate.ts',
'~/plugins/globalComponents.ts',
'~/plugins/globalProperty.ts'
],
buildModules: [
'@nuxtjs/eslint-module',
[
'@nuxt/typescript-build',
{
typeCheck: true,
ignoreNotFoundWarnings: true
}
],
'@nuxtjs/vuetify'
],
modules: [
'@nuxtjs/pwa',
'@nuxtjs/axios',
'@nuxtjs/dotenv',
[
'nuxt-i18n',
{
vueI18n: i18n,
locales: ['en', 'zh', 'zh-TW', 'ja', 'es-ES'],
defaultLocale: 'en',
strategy: 'no_prefix',
detectBrowserLanguage: false,
parsePages: false,
seo: false
}
]
],
googleAnalytics: {
id: GA,
dev: false,
debug: {
enabled: !isProduct,
sendHitTask: isProduct
}
},
vuetify: {
customVariables: ['~/styles/variables.scss'],
defaultAssets: false,
treeShake: true,
optionsPath: './vuetify.options.ts'
},
build: {
transpile: ['vuetify'],
extend () {}
},
env: {
TOKEN: process.env.TOKEN || '',
API_BASE: process.env.API_BASE || '',
APP_ENV: process.env.APP_ENV || ''
}
}
export default config