Если вы являетесь веб -разработчиком и не использовали расширение живого сервера в VSCODE, вы даже разработчик? Просто шучу. Но думали ли вы о том, как это работает под капюшоном? В сегодняшнем блоге давайте попробуем понять, как это работает с практической реализацией с использованием Golang. Почему Голанг? Ну, я исследую Голанг в эти дни, и что лучше учиться, чем создать проект? Так что достаточно контекста (не тот, который в Голанге) Давайте начнем.
], поэтому живой сервер автоматически перезагружает браузер всякий раз, когда он обнаруживает любую модификацию в файлах HTML, CSS или JS. Это началось с обслуживания этих статических файлов через HTTP -сервер. Под капотом он использует наблюдателя файла, такого как fsnotify (мы собираемся использовать это для нашего проекта), Fswatch (в файловой системе на основе Unix) или Chokidar (для Nodejs), чтобы постоянно контролировать каталог проекта для изменений файлов (в основном при сохранении любого файла с расширениями .html, .css, .js).
в ядре он использует соединение WebSocket между сервером вашего (узла JS) и браузером. Когда сервер обнаруживает изменения файла, он отправляет уведомление о перезагрузке через WebSocket в браузер. Браузер, в свою очередь, перезагружает страницу, чтобы отразить новые изменения. Кроме того, он использует инъекцию CSS (обновляя только стили без полной перезагрузки), HMR (замена горячего модуля) для модуля JavaScript. Это гарантирует, что разработчик получает отзывы в реальном времени без необходимости вручную перезагрузить браузер после каждого изменения в коде.]
] Обзор проекта]
] 1. Служа статических файлов
]
http.Handle("/", http.FileServer(http.Dir("./static")))] 2. Перезагрузить конечную точку
]
]
]
] 3. Просмотр изменений файла]
]
]
]
http.Handle("/", http.FileServer(http.Dir("./static")))] 5. Запуск сервера
]
]
http.Handle("/", http.FileServer(http.Dir("./static")))] Последние мысли
с несколькими строками кода GO, я смог улучшить рабочий процесс для статической веб -разработки, и я с нетерпением жду возможности еще дальше усовершенствовать этот инструмент.
]
проверьте код: SERD-IT GITHUB]
] ]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3