const pkg = require('./package') module.exports = { mode: 'universal', server: { port: 3003, host: '0.0.0.0' }, /* ** Headers of the page */ head: { title: pkg.name, titleTemplate: 'Marc Leopold | %s', meta: [ { charset: 'utf-8' }, { name: 'viewport', content: 'width=device-width, initial-scale=1' }, { hid: 'description', name: 'description', content: 'The website of photographer Marc Leopold.' } ], link: [ { rel: 'icon', type: 'image/png', sizes: '16x16', href: '/favicon-16x16.png' }, { rel: 'icon', type: 'image/png', sizes: '32x32', href: '/favicon-32x32.png' }, { rel: 'icon', type: 'image/png', sizes: '96x96', href: '/favicon-96x96.png' }, { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=' + 'Montserrat:400,600|' + 'Raleway:400,600|' + 'Satisfy' }, ] }, /* ** Customize the progress-bar color */ loading: { color: '#fff', height: '1px', }, /* ** Global CSS */ css: [ '@/assets/scss/style.scss' ], /* ** Plugins to load before mounting the App */ plugins: [ { src: '~/plugins/Vuelidate' } ], /* ** Nuxt.js modules */ modules: [ // Doc: https://github.com/nuxt-community/axios-module#usage '@nuxtjs/axios', // Doc: https://buefy.github.io/#/documentation 'nuxt-buefy', [ 'nuxt-sass-resources-loader', [ '@/assets/scss/_globals.scss' ] ] ], /* ** Axios module configuration */ axios: { // See https://github.com/nuxt-community/axios-module#options }, /* ** Build configuration */ build: { /* ** You can extend webpack config here */ extend(config, ctx) { // vue-svg-loader const svgRule = config.module.rules.find(rule => rule.test.test('.svg')) svgRule.test = /\.(png|jpe?g|gif|webp)$/ config.module.rules.push({ test: /\.svg$/, loader: 'vue-svg-loader', }) // Run ESLint on save if (ctx.isDev && ctx.isClient) { config.module.rules.push({ enforce: 'pre', test: /\.(js|vue)$/, loader: 'eslint-loader', exclude: /(node_modules)/ }) } } } }