Files
oasis/index.js
2019-06-25 09:52:34 -07:00

50 lines
1.2 KiB
JavaScript
Executable File

#!/usr/bin/env node
const Koa = require('koa')
const path = require('path')
const router = require('koa-router')()
const views = require('koa-views')
const koaStatic = require('koa-static')
const mount = require('koa-mount')
const author = require('./routes/author')
const hashtag = require('./routes/hashtag')
const home = require('./routes/home')
const profile = require('./routes/profile')
const thread = require('./routes/thread')
const assets = new Koa()
assets.use(koaStatic(path.join(__dirname, 'public')))
const hljs = new Koa()
hljs.use(koaStatic(path.join(__dirname, 'node_modules', 'highlight.js', 'styles')))
const app = module.exports = new Koa()
app.use(mount('/static/public', assets))
app.use(mount('/static/hljs', hljs))
// app.use(koaStatic(path.join(__dirname, 'public')))
app.use(views(path.join(__dirname, 'views'), {
map: { html: 'ejs' }
}))
router
.get('/', home)
.get('/author/:id', author)
.get('/hashtag/:id', hashtag)
.get('/profile/', profile)
.get('/thread/:id', thread)
app.use(router.routes())
if (!module.parent) {
const opts = {
host: 'localhost',
port: 3000
}
app.listen(opts)
console.log(`open your browser to http://${opts.host}:${opts.port}/`)
}