6.8 KiB
🔌 Веб фреймворк Fiber

Fiber — это Express.js подобный HTTP веб фреймворк, использующий всю мощь Fasthttp, самого быстрого HTTP движка для Go (Golang). Мы используем аналогичную схему именования методов, как и у Express.
Разработчики, пришедшие из Node.js в Go очень часто испытывают трудности при создании своих первых веб-приложений. Данный проект призван, в том числе, облегчить процесс перехода для таких разработчиков.
Документация по API
📚 Мы создали расширенную документацию по API (включая примеры), посмотреть.
Бенчмарк
👉 Click here to see all benchmark results.
Особенности
- Оптимизирован для скорости и низкого использования памяти
- Быстрое Server-Side программирование
- Простая маршрутизация с параметрами
- Статические файлы с пользовательским префиксом
- Middleware с поддержкой
Next()
- Endpoints, как у API Express
- Расширенная документация
Установка
Предположим, вы уже установили Go 1.11+
😉
Установит пакет Fiber с помощью следующей команды в консоле:
go get -u github.com/gofiber/fiber
Hello, world!
Веб-приложение ниже, по сути, является самым простым приложением, которое вы можете создать:
// server.go
package main
import "github.com/gofiber/fiber"
func main() {
// Создание нового инстанса Fiber
app := fiber.New()
// Создание маршрута с GET
app.Get("/", func(c *fiber.Ctx) {
c.Send("Hello, World!")
})
// Старт сервера на http://localhost:8080
app.Listen(8080)
}
Перейдите в консоль и запустите:
go run server.go
А теперь, откройте в браузере адрес http://localhost:8080
. Вы должы увидеть надпись Hello, World!
! 🎉
Статичные файлы
Для получения доступа к статичным файлам, используйте метод Static:
package main
import "github.com/gofiber/fiber"
func main() {
// Создание нового инстанса Fiber
app := fiber.New()
// Включение всех файлов в папке ./public для работы
app.Static("./public")
// Старт сервера на http://localhost:8080
app.Listen(8080)
}
Теперь вы можете получить доступ ко всем файлам, которые находятся в папке ./public
:
http://localhost:8080/hello.html
http://localhost:8080/js/script.js
http://localhost:8080/css/style.css
Middleware
Еще никогда работа с middleware не была настолько простой! Так же, как и в Express, вы должны вызывать метод Next()
для дальнейшего следования по маршрутам роутера:
package main
import "github.com/gofiber/fiber"
func main() {
// Создание нового инстанса Fiber
app := fiber.New()
// Определяем все необходимые middlewares
// с помощью метода Use()
app.Use(func(c *fiber.Ctx) {
c.Write("Match anything!\n")
c.Next()
})
app.Use("/api", func(c *fiber.Ctx) {
c.Write("Match starting with /api\n")
c.Next()
})
app.Get("/api/user", func(c *fiber.Ctx) {
c.Write("Match exact path /api/user\n")
})
// Старт сервера на http://localhost:8080
app.Listen(8080)
}
Помощь проекту
Если вы хотите сказать «спасибо» и/или помочь активной разработке gofiber/fiber
:
- Добавьте звёздочку GitHub этому репозиторию.
- Отправьте твит об этом проекте в свой Twitter.
- Помогите нам перевести
README
и Документацию по API на другой язык.
Спасибо за поддержку! 😘 Вместе мы делаем Fiber Web Framework
лучше каждый день.
Звёздочки с течением времени
Лицензия
⚠️ Обратите внимание: gofiber/fiber
является свободным программным обеспечением с открытым исходным кодом, лицензируемым в соответствии с MIT License.