Краткий справочник

Шпаргалка по веб-фреймворку Camp в Node.js

Краткое справочное руководство по легковесному фреймворку Camp для Node.js: минималистичный роутинг, сервер WebSocket, шаблоны и middleware.

· Опубликовано

Camp — легковесный фреймворк для веб-серверов и WebSocket-приложений на Node.js без шаблонного кода.

Быстрый запуск сервера (Quickstart Server)

const Camp = require('camp');

const server = Camp.start({
  port: 8080
});

console.log('Server running on port 8080');

По умолчанию Camp автоматически раздает статические файлы из каталога ./web/.


Обработчики маршрутов (Route Handlers)

GET-запросы и query-параметры

// Обрабатывает /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 и Middleware (404 & Middleware Handlers)

Перехват всех ненайденных путей (Catch-all)

server.notFound('/*', (req, res) => {
  res.file('/404.html');
});

Промежуточный обработчик (Interceptor)

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);
  });
});

Связанные руководства

Связанные темы