Я сделал внутреннюю разработку, особенно когда я использовал Django или Express, я должен быть знаком с функциями маршрутизации на стороне сервера. WordPress, популярная система блогов в зарубежных странах, также является очень классическим случаем реализации маршрутизации. Итак, что такое маршрут? Давайте кратко поговорим об этом через WordPress.
Те, кто понимает правила переписывания WordPress, все знают, что на самом деле любой доступ к URL -адресу основан на index.php в каталоге установки WordPress (за исключением доступа к файлам, уже существуя на сервере). Будет очевидно, когда ссылка с фиксированной ссылкой WordPress находится в настройке режима. Например, URL статьи является index.php? P = ID, а URL -адрес страницы классификации является index.php? Cat = id.
Здесь, index.php действует как функция маршрутизатора, см. Следующую картинку:
Другими словами, независимо от того, какой адрес вы посещаете, все запросы в конечном итоге будут перенаправлены на index.php. Программа определит, какой тип страницы вам нужна на основе характеристик URL -адреса доступа, а затем сделает запрос в базу данных, и, наконец, вернет контент HTML в браузер.
Что мы упомянули выше, так это маршрутизация веб-бэкэнд, так что же такое маршрутизация фронта? Фактически, в настоящее время широко используется технология маршрутизации переднего интерната, и многие библиотечные библиотеки с открытым исходным кодом поддерживают передний маршрутизацию, такие как Angularjs, Ember.js, Director.js и т. Д. Это позволяет всем взаимодействиям и отображает их на одной странице, чтобы запустить для сокращения запросов сервера и улучшения качества обслуживания клиентов. Все больше и больше веб-сайтов, особенно веб-приложений, используют фронтальную маршрутизацию.
Director.js - самая чистая регистрация маршрута/анализатор. Он использует символ «#» для организации разных путей URL, не обновляя страницу и соответствовать различным методам обратного вызова в соответствии с различными путями URL. Director.js может применяться не только к клиенту, но и в фоновом режиме с использованием node.js, но и может реализовать функцию бэкэнд, упомянутая выше. Давайте посмотрим на следующие примеры о реализации маршрутизации фронта
Вам нужно разработать приложение для веб -стола, аналогичное веб -QQ. На рабочем столе есть много небольших значков, и каждый маленький значок является функциональным приложением, аналогичным компьютеру. На рабочем столе есть кнопка новостей Baidu. Нажмите на него, чтобы выяснить окно на текущей странице. Вы можете просмотреть Baidu News и еще одну иконку. Нажмите на него, чтобы просмотреть текущее время. Вот простой пример:
<! Doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <script src = "https://rawgit.com/flatiron/director/master/build/director.min.js"> </script> <style> * {margin: 0; {Ширина: 100%; Высота: 100%; Фон: #3D72B8} #Baidunews {ширина: 40px; высота: 40px; фон: url ("./ du.png") no-repeat; отображение: блок; Маргин: 50px;} #tweibo {width: 40px; Высота: 40px; нет повторного замены; отображение: block; margin: 50px;} </style> </head> <body> <a href = "#/baidunews" id = "baidunews"> </a> <a href = "#/time" id = "tweibo"> </a> <croppt> // define rout "/Baidunews": [ShowFrame, GetBaidunews]} // Инициализировать маршрут var router = router (route) router.init (); // Определите функцию обратного вызова, которая отображает текущую функцию времени now () {var now = new Date (); var y = now.getFielyear (); var m = now.getmonth ()+1; var d = now.getDate (); var h = now.gethours (); var mi = now.getminutes (); var s = now.getSeconds (); Alert («Текущее время/n»+y+"Год"+m+"месяц"+d+"день"+h+"время"+mi+"минута"+s+"секунды"); } // Определите функцию, которая отображает функцию браузера Framework ShowFrame () {var f = document.createElement ("div"); f.style.width = "985px"; f.style.height = "500px"; f.style.position = "Absolute"; f.style.top = "50px"; f.style.left = "200px"; f.style.background = "White"; f.style.border = "2px solid #ccc"; // кнопка закрытия var close = document.createElement ("span"); close.style.position = "Absolute"; close.style.right = "5px"; close.style.cursor = "pointer"; close.style.marginright = "5px"; close.onclick = function () {document.body.removechild (f); } close.innerhtml = "x"; // Загрузить iframe за пределами сайта var win = document.createElement ("iframe"); win.id = "myiframe"; win.frameborder = 0; win.style.width = "100%"; win.style.height = "100%"; F.AppendChild (Close); F.AppendChild (Win); document.body.appendchild (f); } // Определить функцию функции для загрузки веб -страницы Baidu News getBaidunew () {document.getElementById ("myiframe") .src = "http://news.baidu.com/"; } </script> </body> </html>Из приведенного выше кода мы видим, что Register.js использует «#» на странице для маршрутизации и пересылки. Приведенный выше пример является очень простым примером. Director.js может реализовать более сложные и огромные функции. Он может взаимодействовать с данными AJAX и сервера и может сосуществовать с другими библиотеками класса JS. Это мощный инструмент разработки веб -приложений.
Оказал ли какое -либо влияние на SEO Director.js?
Директор клиента. JS оказывает влияние на SEO, потому что все данные находятся только на одной странице, а некоторые данные хранятся таким образом, что не способствует поисковым паукам. Если вам нужно быть дружественным для SEO, это означает, что вам нужно построить «веб -страницу» вместо «веб -приложения». Director.js не рекомендуется.
Ссылка: Director.js