2018-03-16 16:12:06 +00:00
|
|
|
import path from 'path'
|
2017-12-12 10:25:41 +00:00
|
|
|
|
2018-08-21 16:35:46 +00:00
|
|
|
let _nuxt
|
|
|
|
|
2018-03-16 16:12:06 +00:00
|
|
|
export default {
|
2018-08-10 09:34:55 +00:00
|
|
|
render: {
|
|
|
|
dist: {
|
|
|
|
maxAge: ((60 * 60 * 24 * 365) * 2)
|
|
|
|
}
|
|
|
|
},
|
2018-08-18 16:15:37 +00:00
|
|
|
router: {
|
|
|
|
extendRoutes(routes, resolve) {
|
|
|
|
return [{
|
|
|
|
path: '/before-enter',
|
|
|
|
name: 'before-enter',
|
|
|
|
beforeEnter: (to, from, next) => { next('/') }
|
|
|
|
}, ...routes]
|
|
|
|
}
|
|
|
|
},
|
2016-12-21 19:51:43 +00:00
|
|
|
generate: {
|
2017-03-17 17:52:46 +00:00
|
|
|
routes: [
|
2018-03-18 23:41:14 +00:00
|
|
|
// TODO: generate with {build: false} does not scans pages!
|
2018-08-06 00:12:44 +00:00
|
|
|
'/noloading',
|
2018-03-18 23:41:14 +00:00
|
|
|
'/stateless',
|
|
|
|
'/css',
|
|
|
|
'/stateful',
|
|
|
|
'/head',
|
|
|
|
'/async-data',
|
|
|
|
'/validate',
|
|
|
|
'/redirect',
|
2018-09-18 15:21:25 +00:00
|
|
|
'/store-module',
|
2017-03-17 17:52:46 +00:00
|
|
|
'/users/1',
|
|
|
|
'/users/2',
|
2017-05-30 10:00:31 +00:00
|
|
|
{ route: '/users/3', payload: { id: 3000 } }
|
2017-04-24 08:30:05 +00:00
|
|
|
],
|
2017-11-16 13:33:19 +00:00
|
|
|
interval: 200,
|
|
|
|
subFolders: true
|
2017-10-31 11:33:15 +00:00
|
|
|
},
|
2018-03-18 19:31:32 +00:00
|
|
|
head: {
|
|
|
|
titleTemplate: (titleChunk) => {
|
|
|
|
return titleChunk ? `${titleChunk} - Nuxt.js` : 'Nuxt.js'
|
|
|
|
}
|
|
|
|
},
|
2017-12-12 10:25:41 +00:00
|
|
|
modulesDir: path.join(__dirname, '..', '..', '..', 'node_modules'),
|
2017-10-31 11:33:15 +00:00
|
|
|
hooks: {
|
|
|
|
ready(nuxt) {
|
2018-08-21 16:35:46 +00:00
|
|
|
_nuxt = nuxt
|
2018-08-20 14:20:45 +00:00
|
|
|
nuxt.__hook_ready_called__ = true
|
2017-10-31 11:33:15 +00:00
|
|
|
},
|
2018-08-20 12:19:09 +00:00
|
|
|
build: {
|
|
|
|
done(builder) {
|
2018-08-20 14:20:45 +00:00
|
|
|
builder.__hook_built_called__ = true
|
2018-08-20 12:19:09 +00:00
|
|
|
}
|
|
|
|
},
|
2018-08-21 16:35:46 +00:00
|
|
|
render: {
|
|
|
|
routeDone(url) {
|
|
|
|
_nuxt.__hook_render_routeDone__ = url
|
|
|
|
}
|
|
|
|
},
|
2017-10-31 11:33:15 +00:00
|
|
|
bad: null,
|
|
|
|
'': true
|
2017-11-16 10:56:41 +00:00
|
|
|
},
|
2017-11-21 07:38:12 +00:00
|
|
|
transition: false,
|
2018-09-18 16:06:55 +00:00
|
|
|
plugins: [
|
|
|
|
'~/plugins/vuex-module',
|
2018-10-27 16:41:42 +00:00
|
|
|
'~/plugins/dir-plugin',
|
|
|
|
'~/plugins/inject'
|
2018-09-18 16:06:55 +00:00
|
|
|
],
|
2017-11-21 07:38:12 +00:00
|
|
|
build: {
|
2017-12-08 10:10:57 +00:00
|
|
|
scopeHoisting: true,
|
2018-10-09 12:26:11 +00:00
|
|
|
postcss: {
|
|
|
|
preset: {
|
2018-07-25 16:38:49 +00:00
|
|
|
features: {
|
|
|
|
'custom-selectors': true
|
|
|
|
}
|
2018-10-09 12:26:11 +00:00
|
|
|
},
|
|
|
|
plugins: {
|
|
|
|
cssnano: {}
|
|
|
|
}
|
|
|
|
}
|
2017-11-21 07:38:12 +00:00
|
|
|
}
|
2016-12-21 19:51:43 +00:00
|
|
|
}
|