SvelteBase
Svelte + Sapper + Firebase = ❤
SvelteBase – це хобі-проект, який було розпочато кілька років тому з метою: створити легкий простий і сучасний веб-фреймворк, який зробить створення прототипів і розробку веб-проектів будь-якого масштабу легким і цікавим, одночасно використовуючи найкраще з сучасних інструментів і дотримуючись простих та інтуїтивно зрозумілих практик, які запалюють обидва креативна та розумна архітектура.
особливості
Багатомовність із коробки
- Вміст, створений сервером, перекладається
- Вбудований перекладач JSON за допомогою GoogleTranslate
- Можливість збереження динамічних значень у текстовому вмісті за допомогою XDATA (хитре хакерське рішення)
- Перекладене рішення моделей Firebase
SEO Friendly
- SSR – візуалізація на стороні сервера, надана Sapper
- Компонент Google Analytics
- Належне використання багатомовних URL-адрес і мета-hreflang
- Генератор карт сайту
Складні переадресації
Швидко палає
SvelteBase не вплинув на продуктивність Свелта та Сапера. Firebase також є одним із найшвидших BE за умови правильного використання.
Веб-сайти, створені за допомогою SvelteBase, отримують 100 тестів на PageSpped як для комп’ютерів, так і для мобільних пристроїв.
Локальні емулятори Firebase
Проблеми та виклики
синхронізація package.json і functions/package.json
Тому йому потрібен власний package.json, який містить пакети, необхідні як для Svelte & Sapper, так і для Firebase.
По суті, це означає, що будь-який пакет, доданий до package.json під час процесу розробки, потрібно буде додати до функцій/packages.json .
Немає доступу до атрибута lang початкового тегу html
Але, на жаль, поточна версія Sapper не підтримує користувальницькі заповнювачі в template.html .
Ось чому за замовчуванням атрибут lang не вказано, і ми використовуємо лише метадані hreflang .
Матеріалізуйте CSS
Серверні та клієнтські сценарії можуть заплутати
- Сторінки Sapper використовують два типи сценаріїв виконання: серверні та клієнтські
- Серверні сценарії використовують середовище node.js – вони мають атрибут context="module".
- Сценарії на стороні клієнта використовують середовище браузера
- Якщо ви хочете отримати всі переваги SSR, вам потрібно використовувати сценарії на стороні сервера для відтворення необхідного вмісту на стороні сервера
Мінуси Firebase
Обмежена кількість проектів на Firebase
Пагінація Firestore
Синхронізація індексів Firestore
Однак це дозволяє налаштовувати індекси за допомогою Firebase Console і firestore.indexes.json .
Але якщо індекси налаштовано за допомогою Firebase Console, вони не будуть автоматично відображені у firestore.indexes.json .
Тому вам потрібно зробити це вручну, тому що якщо ви розгортаєте свій код в іншому проекті Firebase, вам потрібно буде знову налаштувати індекси.