Camp는 보일러플레이트 없이 동작하는 Node.js용 초경량 웹 및 WebSocket 서버 프레임워크입니다.
빠른 시작 서버 (Quickstart Server)
const Camp = require('camp');
const server = Camp.start({
port: 8080
});
console.log('Server running on port 8080');
Camp는 기본적으로 ./web/ 디렉터리에 위치한 정적 에셋을 자동으로 서빙합니다.
라우트 핸들러 (Route Handlers)
GET 요청 및 URL 쿼리 파라미터
// /search?q=query 처리
server.path('/search', (req, res) => {
const query = res.query.q;
res.json({
query: query,
results: []
});
});
POST 및 HTTP 메서드
server.post('/api/users', (req, res) => {
const body = req.body;
res.json({ status: 'created', user: body });
});
템플릿 및 뷰 (Templates & Views)
동적 템플릿 컴파일 및 렌더링:
const template = Camp.template('./templates/post.html');
server.path('/blog/:post.html', (req, res) => {
res.template({
title: 'Post Title',
content: 'Hello World'
}, template);
});
404 및 미들웨어 (404 & Middleware Handlers)
전체 대체 경로 (Catch-all Fallback)
server.notFound('/*', (req, res) => {
res.file('/404.html');
});
인터셉터 미들웨어
server.handle((req, res, next) => {
res.setHeader('X-Powered-By', 'Camp');
next();
});
웹소켓 (WebSockets)
server.ws('/chat', (socket) => {
socket.on('message', (msg) => {
console.log('Received:', msg);
});
});