diff --git a/nuxt.config.js b/nuxt.config.js index 83689d6d..c6391115 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -56,7 +56,7 @@ module.exports = { // Doc: https://axios.nuxtjs.org/usage './@nuxtjs/axios', './@nuxtjs/auth', - ['nuxt-express-module', { expressPath: 'server/', routesPath: 'server/routes' }] + // ['nuxt-express-module', { expressPath: 'server/', routesPath: 'server/routes' }] ], /* @@ -95,7 +95,9 @@ module.exports = { buildModules: [ 'nuxt-build-optimisations', - '@nuxtjs/vuetify' + '@nuxtjs/vuetify', + ['nuxt-express-module', { expressPath: 'server/', routesPath: 'server/routes' }], + '@/plugins/initialize.server.js' ], vuetify: { defaultAssets: false, diff --git a/plugins/initialize.server.js b/plugins/initialize.server.js new file mode 100644 index 00000000..20838c33 --- /dev/null +++ b/plugins/initialize.server.js @@ -0,0 +1,27 @@ +export default function () { + function start (nuxt) { + const log = require('../server/log') + const config = require('../server/config') + let TaskManager + if (!config.firstrun) { + TaskManager = require('../server/taskManager').TaskManager + TaskManager.start() + } + const msg = `Listen on ${config.server.host}:${config.server.port} , visit me here => ${config.baseurl}` + log.info(msg) + + // close connections/port/unix socket + async function shutdown () { + if (TaskManager) { TaskManager.stop() } + nuxt.close(async () => { + log.info('Closing DB') + const sequelize = require('../server/api/models') + await sequelize.close() + process.exit() + }) + } + process.on('SIGTERM', shutdown) + process.on('SIGINT', shutdown) + } + this.nuxt.hook('ready', start) +}