-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnuxt.config.ts
67 lines (64 loc) · 1.86 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
import { defineNuxtConfig } from 'nuxt3'
import vuetify from '@vuetify/vite-plugin'
const { BASE_URL, API_KEY, GTAG } = process.env
declare module 'vite' {
interface UserConfig {
// This is the missing options. Please see https://vitejs.dev/config/#ssr-options
ssr?: {
external?: string[]
noExternal?: string | RegExp | (string | RegExp)[] | true
target?: 'node' | 'webworker'
}
}
}
// https://v3.nuxtjs.org/docs/directory-structure/nuxt.config
export default defineNuxtConfig({
srcDir: 'client/',
privateRuntimeConfig: {
baseURL: BASE_URL,
apiKey: API_KEY,
},
publicRuntimeConfig: {
baseURL: process.env.NODE_ENV !== 'production' ? BASE_URL : undefined,
apiKey: process.env.NODE_ENV !== 'production' ? API_KEY : undefined,
gtag: GTAG,
},
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
],
css: [
'~/assets/scss/style.scss',
'vuetify/styles',
],
vite: {
plugins: [
vuetify(),
{
// /~https://github.com/nuxt/framework/issues/2798
configResolved(config) {
const vuetifyIdx = config.plugins.findIndex(
(plugin) => plugin.name === 'vuetify:import'
)
const vueIdx = config.plugins.findIndex(
(plugin) => plugin.name === 'vite:vue'
)
if (~vuetifyIdx && vuetifyIdx < vueIdx) {
const vuetifyPlugin = config.plugins[vuetifyIdx]
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
config.plugins.splice(vuetifyIdx, 1)
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
config.plugins.splice(vueIdx, 0, vuetifyPlugin)
}
},
},
],
ssr: {
noExternal: ['vuetify'],
},
define: {
'process.env.DEBUG': 'false',
},
},
})