-
Notifications
You must be signed in to change notification settings - Fork 54
/
nuxt.config.js
109 lines (103 loc) · 2.41 KB
/
nuxt.config.js
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
const siteInfo = require('./content/setup/info.json');
const pkginfo = require('./package.json')
const webpack = require('webpack')
module.exports = {
target: 'static',
components: true,
mode: "universal",
/*
** Headers of the page
*/
transition: { mode: "in-out" },
env: {
API_URL: process.env.API_URL,
BAEL_VERSION: pkginfo.version
},
head: {
title: siteInfo.sitename,
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: siteInfo.sitedescription }
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
{ rel: 'stylesheet', href: 'https://fonts.googleapis.com/css2?family=Inter:wght@200;400;600;700;800&display=swap' }
]
},
css: ["@/assets/grid.css", "@/assets/content.scss", "bf-solid/dist/solid.latest.css"],
// icon: {
// iconSrc: `${siteInfo.siteicon}`
// },
/*
** Customize the progress bar color
*/
loading: { color: '#3B8070' },
modules: ['@nuxt/content', '@nuxtjs/pwa', '@nuxtjs/axios'],
content: {
fullTextSearchFields: ['title', 'description', 'category']
},
manifest: {
name: siteInfo.sitename,
short_name: siteInfo.sitename,
description: siteInfo.sitedescription,
lang: 'en'
},
workbox: {
runtimeCaching: [
{
urlPattern: '/images/uploads/.*',
handler: 'cacheFirst',
strategyOptions: {
cacheName: 'image-cache',
cacheExpiration: {
maxEntries: 100,
maxAgeSeconds: 86400
}
}
}
]
},
/*
** Route config for pre-rendering
*/
router: {
scrollBehavior: function (to, from, savedPosition) {
return { x: 0, y: 0 }
},
middleware: ['title']
},
plugins: [
{
src: "~/plugins/browser",
mode: 'client'
}, {
src: "~/plugins/moment",
mode: 'client'
}, {
src: "~/plugins/lazyload",
mode: 'client'
}
],
/*
** Build configuration
*/
build: {
extractCSS: false,
html: {
minify: {
minifyCSS: false,
minifyJS: false
}
},
plugins: [
new webpack.ProvidePlugin({
_get: 'lodash/get',
})
],
/** Uncomment this if you need to use the full Vue build */
// extend(config) {
// config.resolve.alias['vue'] = 'vue/dist/vue.common'
// }
},
}