marc-leopold/nuxt.config.js

107 lines
2.2 KiB
JavaScript

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: pkg.description }
],
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)/
})
}
}
}
}