-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnuxt.config.ts
More file actions
120 lines (119 loc) · 2.09 KB
/
nuxt.config.ts
File metadata and controls
120 lines (119 loc) · 2.09 KB
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
import vuetify from 'vite-plugin-vuetify'
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
srcDir: './src',
css: ['~/assets/css/normalize.css', '~/assets/scss/main.scss'],
imports: {
dirs: [
'composables/**',
'config/**',
'components/**',
'utils/**',
'constants/**',
],
},
app: {
pageTransition: { name: 'page', mode: 'out-in' },
layoutTransition: { name: 'layout', mode: 'out-in' },
},
build: {
transpile: ['vuetify'],
},
experimental: {
payloadExtraction: false,
},
nitro: {
compressPublicAssets: true,
prerender: {
crawlLinks: true,
},
},
vite: {
ssr: {
noExternal: ['vuetify'],
},
css: {
preprocessorOptions: {
scss: {
additionalData: `
@import "~/assets/scss/variable";
@import "~/assets/scss/animation";
@import "~/assets/scss/components";
@import "~/assets/scss/scrollbar";
`,
},
},
},
// build: {
// chunkSizeWarningLimit: 1024,
// sourcemap: 'hidden',
// },
vue: {
script: {
defineModel: true,
propsDestructure: true,
},
},
},
components: [
'~/components',
{
path: '~/components/atoms',
prefix: 'atom',
},
{
path: '~/components/molecules',
prefix: 'molecule',
},
{
path: '~/components/organisms',
prefix: 'organism',
},
{
path: '~/components/templates',
prefix: 'template',
},
],
hooks: {
'vite:extendConfig': config => {
config.plugins?.push(vuetify({}))
},
},
modules: [
'@nuxtjs/google-fonts',
'@pinia/nuxt',
'@vueuse/nuxt',
'@nuxt/devtools',
],
googleFonts: {
families: {
'Noto Sans': {
wght: [300, 400, 500, 600, 700, 900],
},
},
display: 'fallback',
preload: true,
download: false,
},
pinia: {
autoImports: [
'defineStore',
'storeToRefs',
'acceptHMRUpdate',
['defineStore', 'definePiniaStore'],
],
},
postcss: {
plugins: {
autoprefixer: {},
'postcss-import': {},
'postcss-url': {},
...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {}),
},
},
runtimeConfig: {
public: {
apiBase: process.env.API_BASE,
},
},
})