2019-04-03 00:25:12 +02:00
|
|
|
const pkg = require('./package')
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
mode: 'universal',
|
|
|
|
|
|
|
|
/*
|
|
|
|
** Headers of the page
|
|
|
|
*/
|
|
|
|
head: {
|
|
|
|
title: pkg.name,
|
|
|
|
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/x-icon', href: '/favicon.ico' }]
|
|
|
|
},
|
2019-04-26 23:14:43 +02:00
|
|
|
|
2019-04-23 15:45:52 +02:00
|
|
|
serverMiddleware: [
|
|
|
|
{ path: '/api', handler: '@/server/api/index.js' }
|
|
|
|
],
|
2019-04-03 00:25:12 +02:00
|
|
|
|
|
|
|
/*
|
|
|
|
** Customize the progress-bar color
|
|
|
|
*/
|
|
|
|
loading: { color: '#fff' },
|
|
|
|
|
|
|
|
/*
|
|
|
|
** Global CSS
|
|
|
|
*/
|
|
|
|
css: [
|
|
|
|
'element-ui/lib/theme-chalk/index.css',
|
|
|
|
'bootstrap/dist/css/bootstrap.css',
|
|
|
|
'bootstrap-vue/dist/bootstrap-vue.css',
|
|
|
|
'v-calendar/lib/v-calendar.min.css'
|
|
|
|
],
|
|
|
|
|
|
|
|
/*
|
|
|
|
** Plugins to load before mounting the App
|
|
|
|
*/
|
|
|
|
plugins: ['@/plugins/element-ui', '@/plugins/filters',
|
|
|
|
'@/plugins/i18n', '@/plugins/bootstrap-vue',
|
|
|
|
'@/plugins/vue-awesome',
|
2019-04-29 00:27:29 +02:00
|
|
|
{ src: '@/plugins/v-calendar', ssr: false },
|
|
|
|
{ src: '@/plugins/vuex-persist.js', ssr: false },
|
2019-04-03 00:25:12 +02:00
|
|
|
'@/plugins/magic-grid'],
|
|
|
|
|
|
|
|
/*
|
|
|
|
** Nuxt.js modules
|
|
|
|
*/
|
|
|
|
modules: [
|
|
|
|
// Doc: https://axios.nuxtjs.org/usage
|
2019-04-26 23:14:43 +02:00
|
|
|
'@nuxtjs/axios',
|
|
|
|
'@nuxtjs/auth'
|
2019-04-03 00:25:12 +02:00
|
|
|
],
|
|
|
|
/*
|
|
|
|
** Axios module configuration
|
|
|
|
*/
|
|
|
|
axios: {
|
2019-04-30 15:16:50 +02:00
|
|
|
baseURL: '',
|
2019-04-23 15:45:52 +02:00
|
|
|
prefix: '/api',
|
|
|
|
credentials: true
|
2019-04-03 00:25:12 +02:00
|
|
|
// See https://github.com/nuxt-community/axios-module#options
|
|
|
|
},
|
|
|
|
|
2019-04-26 23:14:43 +02:00
|
|
|
auth: {
|
|
|
|
strategies: {
|
|
|
|
local: {
|
|
|
|
endpoints: {
|
|
|
|
login: { url: '/auth/login', method: 'post', propertyName: 'token' },
|
|
|
|
logout: { url: '/auth/logout', method: 'post' },
|
2019-04-29 00:27:29 +02:00
|
|
|
user: { url: '/auth/user', method: 'get', propertyName: false }
|
2019-04-26 23:14:43 +02:00
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2019-04-30 15:16:50 +02:00
|
|
|
|
|
|
|
|
2019-04-03 00:25:12 +02:00
|
|
|
/*
|
|
|
|
** Build configuration
|
|
|
|
*/
|
|
|
|
build: {
|
2019-04-23 15:45:52 +02:00
|
|
|
transpile: [/^element-ui/, /^vue-awesome/, /^vue-magic-grid/, /^vuex-persist/],
|
2019-04-03 00:25:12 +02:00
|
|
|
|
|
|
|
/*
|
|
|
|
** You can extend webpack config here
|
|
|
|
*/
|
|
|
|
extend(config, ctx) {
|
|
|
|
// Run ESLint on save
|
|
|
|
// if (ctx.isDev && ctx.isClient) {
|
|
|
|
// config.module.rules.push({
|
|
|
|
// enforce: 'pre',
|
|
|
|
// test: /\.(js|vue)$/,
|
|
|
|
// loader: 'eslint-loader',
|
|
|
|
// exclude: /(node_modules)/
|
|
|
|
// })
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|