31 lines
		
	
	
	
		
			830 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			830 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const express = require('express')
 | 
						|
const compression = require('compression')
 | 
						|
const sapper = require('sapper')
 | 
						|
const serveStatic = require('serve-static')
 | 
						|
const app = express()
 | 
						|
 | 
						|
const { PORT = 4002 } = process.env
 | 
						|
 | 
						|
// this allows us to do e.g. `fetch('/_api/blog')` on the server
 | 
						|
const fetch = require('node-fetch')
 | 
						|
global.fetch = (url, opts) => {
 | 
						|
  if (url[0] === '/') url = `http://localhost:${PORT}${url}`
 | 
						|
  return fetch(url, opts)
 | 
						|
}
 | 
						|
 | 
						|
app.use(compression({ threshold: 0 }))
 | 
						|
 | 
						|
app.use(serveStatic('assets', {
 | 
						|
  setHeaders: (res) => {
 | 
						|
    res.setHeader('Cache-Control', 'public,max-age=600')
 | 
						|
  }
 | 
						|
}))
 | 
						|
 | 
						|
app.use('/report.html', express.static('.sapper/client/report.html'))
 | 
						|
app.use('/stats.json', express.static('.sapper/client/stats.json'))
 | 
						|
 | 
						|
app.use(sapper())
 | 
						|
 | 
						|
app.listen(PORT, () => {
 | 
						|
  console.log(`listening on port ${PORT}`)
 | 
						|
})
 |