first commit
This commit is contained in:
40
server/index.js
Normal file
40
server/index.js
Normal file
@ -0,0 +1,40 @@
|
||||
const Koa = require('koa')
|
||||
const consola = require('consola')
|
||||
const { Nuxt, Builder } = require('nuxt')
|
||||
|
||||
const app = new Koa()
|
||||
|
||||
// Import and Set Nuxt.js options
|
||||
const config = require('../nuxt.config.js')
|
||||
config.dev = !(app.env === 'production')
|
||||
|
||||
async function start() {
|
||||
// Instantiate nuxt.js
|
||||
const nuxt = new Nuxt(config)
|
||||
|
||||
const {
|
||||
host = process.env.HOST || '127.0.0.1',
|
||||
port = process.env.PORT || 3000
|
||||
} = nuxt.options.server
|
||||
|
||||
// Build in development
|
||||
if (config.dev) {
|
||||
const builder = new Builder(nuxt)
|
||||
await builder.build()
|
||||
}
|
||||
|
||||
app.use((ctx) => {
|
||||
ctx.status = 200
|
||||
ctx.respond = false // Bypass Koa's built-in response handling
|
||||
ctx.req.ctx = ctx // This might be useful later on, e.g. in nuxtServerInit or with nuxt-stash
|
||||
nuxt.render(ctx.req, ctx.res)
|
||||
})
|
||||
|
||||
app.listen(port, host)
|
||||
consola.ready({
|
||||
message: `Server listening on http://${host}:${port}`,
|
||||
badge: true
|
||||
})
|
||||
}
|
||||
|
||||
start()
|
Reference in New Issue
Block a user