Я использую page.js для маршрутизации в приложении Grails, используя '/' для указания /HomeController/index для обслуживания одностраничного веб-приложения. Я только что установил плагин Grails Spring Security Core и использую скаффолдинг Grails для создания представлений User Admin/Permissions с целью их обслуживания традиционным многостраничным способом, чтобы избежать большого количества работы с пользовательским интерфейсом на страницах администрирования. . Большая часть приложения будет обслуживаться с использованием одностраничной архитектуры, и только страницы администратора будут обслуживаться многостранично.
В своей документации page.js говорит: «По умолчанию, когда маршрут не соответствует, page.js вызывает page.stop(), чтобы отвязать себя, и продолжит перенаправление в запрошенное местоположение. Это означает, что вы можете использовать page.js с многостраничным приложением без явной привязки к определенным ссылкам». Но я не могу заставить его работать...
Я использую page.js так:
page('/', SCM.Dashboard.home);
page('/hx', SCM.HX.summary);
page('/hx/vendor', SCM.HX.vendors);
page('/hx/customer', SCM.HX.customers);
page('/customer/list', SCM.Customer.list);
page('/maintenance/activity', SCM.Maintenance.activity);
page();
Когда я щелкаю ссылку на '/user', основываясь на их документации, я ожидаю, что она будет переадресована непосредственно на 'http://domain.com/user». Он добавляет правильный путь в адресную строку браузера (http://domain.com/user), но браузер никогда не перенаправляет на страницу. Чтобы увидеть страницу, я должен щелкнуть ссылку, и после изменения адресной строки, если я обновлю окно браузера, появится правильная страница - явно неприемлемо. Тем не менее, я не могу найти в их документации, как это правильно реализовать. Я часами экспериментировал с различными настройками, но безуспешно. Если я закомментирую приведенный выше код page.js, многостраничные страницы администратора будут работать нормально, и я смогу без проблем переходить со страницы на страницу. Кто-нибудь решил эту проблему?