Getting started
Quick start
app.js
const Camp = require('camp')
const camp = Camp.start({ port: 1234 })
web/index.html
<!doctype html>
<body>Hello world!</body>
Camp serves files in web/
by default.
Routes
Handles /search?q=rainbows
camp.path('/search', (req, res) => {
const q = res.query.q
res.json({ results: ··· })
})
Also available: camp.post
, camp.get
.
Templates
const tpl = Camp.template('./templates/post.html')
camp.path('/blog/:post.html', (req, res) => {
res.template({
text: 'Hello world'
}, tpl)
})
See: Templates
Not found
camp.notFound('/*.lol', (req, res) => {
res.file('/404.html')
})
See: Fall through
Low level handler
camp.handle((req, res, next) => {
res.setHeader('X-Hello', 'world')
next()
})
See: Handlers
Templates
Basic templates
const tpl = Camp.template('/templates/post.html')
camp.path('/blog/:post.html', (req, res) => {
res.template({
text: 'Hello world'
}, tpl)
})
Implicit templates
camp.path('blog.html')
Uses blog.html
as a template.
See: Templates
Advanced features
Web sockets
camp.ws('/path', (socket) => { ··· })
camp.wsChannels[path]
camp.wsBroadcast('/path', (req, res) => {
})
Sorry I don’t completely understand this yet, but check it out in their docs.
See: WebSocket