Рубрики
Без рубрики

Быстрая и низкая верхняя веб-каркас, для Node.jsstify версии 1 был выпущен 7 марта. Этот пост покажет вам, как его настроить, и мы обсудим некоторые невероятные функции, которые можно предложить. Никакой конфигурации не требуется – кодовая база Castify будет работать

Быстрая и низкая верхняя веб-каркас, для Node.jsstify версии 1 был выпущен 7 марта. Этот пост покажет вам, как его настроить, и мы обсудим некоторые невероятные функции, которые можно предложить. Никакой конфигурации не требуется – кодовая база Castify будет работать

Автор оригинала: Ethan Arrowood.

Застегивайте версию 1 Была выпущен 7 марта Отказ Этот пост покажет вам, как его настроить, и мы обсудим некоторые невероятные функции, которые можно предложить. Никакой конфигурации не требуется – код Castify’s Code будет работать на версиях узла 6.x, 8.x и 9.x.

Готовый?

Начните с NPM я застегиваю а потом:

const fastify = require('fastify')()
fastify.get('/', (request, reply) => {  reply.send({ hello: 'world' })})
fastify.listen(3000, err => {  if (err) {    fastify.log.error(err)    process.exit(1)  }  fastify.log.info(    `server listening on ${fastify.server.address().port}`  )})

Теперь запустите свой сервер с: Узел сервера

? Это оно! Вы получили свой первый застегивающий сервер и запущенный.

Что тут происходит?

const fastify = require('fastify')()

Линия 1 импортирует Framework Framework в проект JavaScript и создать его. Ваш экземпляр сервера теперь хранится в Застегивайте Переменная. Вы можете пройти дополнительные варианты к этой линии, как:

const fastifyWithOptions = require('fastify')({  logger: {    prettyPrint: true   }})

Работает на Pino Logger Этот вариант облегчает прочитанную выходной выходной выход консоли для чтения и красочных. Проверьте документацию Pino для получения дополнительных параметров регистратора и документации застегивания для получения дополнительных параметров экземпляра.

Далее: маршрутизация

fastify.get('/', (request, reply) => {  reply.send({ hello: 'world' })})

Строки с 3 по 5 определяют очень простое Маршрут Отказ Маршруты – это ядро для любого Node.js Backend Server. Застегивание поддерживает два метода определения маршрутов: метод сокращения, используемый выше, или общее .rooute Метод, как показано ниже.

fastify.route({  method: 'GET',  url: '/',  handler: function (request, reply) {    reply.send({ hello: 'world' })  }})

Обе эти реализации выполняют то же самое и имеют одинаковую производительность, поэтому просто используйте, что вам больше не имеет смысла.

Декларация маршрута имеет много доступных вариантов, которые здесь не отображаются.

  • Обеспечить JSON SCHEMA Для объектов запроса и реагирования, которые могут увеличить пропускную способность на 10-20%
  • Определить До заражения Метод, который называется незадолго до обработчик функция. Это отлично подходит для аутентификации, и я демонстрирую, как его использовать в моем JWT Auth Plugin (Подробнее о скрытых плагинах позже).

Начните своих двигателей! 3 … 2 … 1 … иди!

fastify.listen(3000, err => {  if (err) {    fastify.log.error(err)    process.exit(1)  }  fastify.log.info(    `server listening on ${fastify.server.address().port}`  )})

Наконец, запустите экземпляр Castify на порт Localhost 3000. Это Последнее Шаг, необходимый для создания собственного экземпляра Castify. Внутренне этот метод будет ждать .ready () (который называется после загрузки плагинов). Новые маршруты не могут быть определены после вызова .Listen () метод.

Что дальше? Плагины!

Одной из лучших функций Castify является то, насколько легко писать и включать плагины в экземпляр сервера. Для начала определить функцию:

function superPlugin (fastify, opts, next) {  fastify.decorate('superMethod', () => {    console.log(`Secret code: ${opts.secretCode}`)  })  next()}

Теперь используя Застегивание-плагин Модуль, экспортируйте свой новый плагин.

const fp = require('fastify-plugin')
module.exports = fp(superPlugin, {  fastify: '>=1.0.0',  name: 'super-plugin'})

Наконец зарегистрируйте свой плагин на свой экземпляр Castify:

/* Inside the main server.js file */const superPlugin = require('super-plugin')
fastify.register(superPlugin, {  secretCode: 'JavaScript is awesome!'})

Теперь вы можете позвонить в Supermethod В любом месте у вас есть доступ к вашему экземпляру Castify.

/* server.js */
fastify.listen(3000, err => {  fastify.superMethod()})

Просто к примечанию: вы можете зарегистрировать плагины в других плагинах, которые блокируются, что приспособление дочернего плагина к родительскому плагину. Эта тема слишком продвигана для этой статьи, поэтому я не буду охватить его еще подробно. Вы можете прочитать больше о Заставьте плагины здесь Отказ Проверьте полный пример файлов в Github Gist здесь Отказ

Пойти и завоевать

Застеживать быстро. Действительно действительно быстро ??

После этого краткого введения я призываю вас проверить все, что Застеживать должен предложить Отказ Если вам нравится программирование с открытым исходным кодом, Castify – отличный проект для внести свой вклад в также. Есть также отличный Экосистема плагинов Чтобы проверить и внести свой вклад!

Продолжайте в том же духе ~ Итан Аррипо

Этан Арридорос ??? (@Arrowoodtech) | Twitter TH е Последние твиты из Этанарроуроны ??? (@Arrowoodtech). Всегда слушаю музыку. вероятно, способствуя открытым … Twitte r.com Итан-Арродород (Итан Арродорос) Ethan-Arrowood имеет 80 доступных репозиториев. Следуйте их коду на GitHub. github.com.