144 lines
3.7 KiB
JavaScript
144 lines
3.7 KiB
JavaScript
const pkg = require('./package')
|
|
|
|
module.exports = {
|
|
mode: 'universal',
|
|
|
|
server: {
|
|
port: process.env.PORT_APP,
|
|
host: '0.0.0.0',
|
|
},
|
|
|
|
serverMiddleware: [
|
|
'~/api/contact',
|
|
],
|
|
/*
|
|
** 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: 'Photographer, Marc Leopold has images in numerous collections and publications. Here is a glimpse of his work, an insight into his philosophy and motivations.' },
|
|
|
|
{ property: 'og:image', content: 'https://leopold.rayelliott.dev/img/open-graph/marc-leopold-ss.png'},
|
|
{ property: 'og:image:width', content: '1200'},
|
|
{ property: 'og:image:height', content: '600'},
|
|
{ property: 'og:image:type', content: 'image/png' },
|
|
{ property: 'og:title', content: 'Marc Leopold Photography' },
|
|
{ property: 'og:url', content: 'https://leopold.rayelliott.dev' },
|
|
{ property: 'og:site_name', content: 'Marc Leopold Photography' },
|
|
{ property: 'og:type', content: 'website'},
|
|
{ property: 'og:description', content: 'Marc Leopold is a Chicago born photographer whose images have appeared in many collections and publications. His website is a showcase of his outstanding work and an insight into his philosophy and motivations.' },
|
|
{ name: 'twitter:card', content: 'summary' },
|
|
{ name: 'twitter:title', content: 'Marc Leopold Photography' },
|
|
{ name: 'twitter:creator', content: '@studiovxweb' },
|
|
],
|
|
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: [
|
|
'@nuxtjs/axios',
|
|
'nuxt-buefy',
|
|
'@nuxtjs/style-resources',
|
|
'@nuxtjs/proxy',
|
|
['@nuxtjs/dotenv', {
|
|
path: '../',
|
|
systemvars: false,
|
|
only: [
|
|
'URL_INTERNAL',
|
|
'URL_CMS',
|
|
'URL_APP',
|
|
'PORT_APP',
|
|
'PORT_CMS',
|
|
],
|
|
}]
|
|
],
|
|
|
|
styleResources: {
|
|
scss: './assets/scss/_globals.scss',
|
|
},
|
|
|
|
/*
|
|
** Axios module configuration
|
|
*/
|
|
axios: {
|
|
// See https://github.com/nuxt-community/axios-module#options
|
|
proxy: true,
|
|
baseURL: process.env.URL_CMS,
|
|
browserBaseURL: process.env.URL_APP,
|
|
debug: false,
|
|
},
|
|
|
|
proxy: {
|
|
'/api/v1/': 'https://cms.leopold.rayelliott.dev',
|
|
// FIXME: why this no work?
|
|
// '/api/v1/': process.env.URL_CMS,
|
|
},
|
|
|
|
/*
|
|
** 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)/
|
|
})
|
|
}
|
|
}
|
|
}
|
|
}
|