mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
42 lines
964 B
JavaScript
42 lines
964 B
JavaScript
const express = require('express')
|
|
const next = require('next')
|
|
|
|
const port = parseInt(process.env.PORT, 10) || 3000
|
|
const dev = process.env.NODE_ENV !== 'production'
|
|
const app = next({ dev })
|
|
const handle = app.getRequestHandler()
|
|
|
|
app.prepare().then(() => {
|
|
const server = express()
|
|
|
|
server.get('/service-worker.js', (req, res) => {
|
|
app.serveStatic(req, res, './.next/service-worker.js')
|
|
})
|
|
|
|
const serviceWorkers = [
|
|
{
|
|
filename: 'service-worker.js',
|
|
path: './.next/service-worker.js'
|
|
},
|
|
{
|
|
filename: 'firebase-messaging-sw.js',
|
|
path: './static/firebase-messaging-sw.js'
|
|
}
|
|
]
|
|
|
|
serviceWorkers.forEach(({ filename, path }) => {
|
|
server.get(`/${filename}`, (req, res) => {
|
|
app.serveStatic(req, res, path)
|
|
})
|
|
})
|
|
|
|
server.get('*', (req, res) => {
|
|
return handle(req, res)
|
|
})
|
|
|
|
server.listen(port, err => {
|
|
if (err) throw err
|
|
console.log(`> Ready on http://localhost:${port}`)
|
|
})
|
|
})
|