Strona tyou One Page Application a pliki .css

0

Witam.
Zastanawiam się w jaki sposób organizować pliki, itp strony "single page application", tj z dynamicznie ładowanymi podstronami przez Ajaxa.

Czy powinienem je ładować razem z podstronami, czy może trzymać na podstronie głównej?

Jeżeli ładowałbym je dynamicznie to na każdej podstronie musiałbym umieszczać skrypt pokazujący podstronę dopiero po załadowaniu. Średnio mi się to podoba.

Tak więc?

1

Możesz coś znaleźć na ten temat googlując po asynchronous routing angularjs lub reactjs lub vuejs albo lazy-loading CSS + ulubiony framework. Webpack np. robi coś takie (to link do starej dokumentacji) https://webpack.github.io/docs/stylesheets.html#styles-from-initial-chunks-into-separate-css-output-file

0

Dziękuję. A nie dałoby się coś takiego zrobić w czystym JS / jQuery?

2

Ładowanie całych stron (HTML/CSS...) przez AJAXa nie ma za wiele sensu, bo nic nie zyskujesz - pobranie całej strony przez AJAX raczej nie będzie szybsze, a użytkownik klikający podstronę i tak zwykle chce przejść ze strony A do strony B (np. z jednego artykułu do drugiego), więc przestaje być to z automatu Single Page, przynajmniej na poziomie interakcji z użytkownikiem*

Jeśli ładować coś AJAXem to same dane (np. w postaci JSON) i dopiero w przeglądarce generowanie z tego HTML/CSS. Wtedy faktycznie AJAX się na coś może przydać. Jako taki mały agent co ładuje potrzebne rzeczy.

No i odchodzi ci ten problem:

Jeżeli ładowałbym je dynamicznie to na każdej podstronie musiałbym umieszczać skrypt pokazujący podstronę dopiero po załadowaniu.

bo przecież w JSON nie ma żadnych skryptów, więc nie ma problemu.

odchodzi ci też tytuły problem - bo przecież nie dociągasz plików css, tylko JSON.

★ ma to niestety przykre konsekwencje - źle zastosowany AJAX, tj. bez wsparcia dla historii/routingu jest koszmarkiem, bo nie można nawet przekopiować adresu i komuś dać linka, gdyż link ten nie zadziała, jeśli zostało to naiwnie zaimplementowane. A ludzie zwykle nie chcą Single Page Applications, ludzie chcą normalnych stron.

1 użytkowników online, w tym zalogowanych: 0, gości: 1