vue-hackernews-2.0 README

The project's README from github.com/vuejs/vue-hackernews-2.0. As one markdown file: README.md.

vue-hackernews-2.0

HackerNews clone built with Vue 2.0 + vue-router + vuex, with server-side rendering.


Live Demo

Features

Note: in practice, it is unnecessary to code-split for an app of this size (where each async chunk is only a few kilobytes), nor is it optimal to extract an extra CSS file (which is only 1kb) -- they are used simply because this is a demo app showcasing all the supported features.

A Note on Performance

This is a demo primarily aimed at explaining how to build a server-side rendered Vue app, as a companion to our SSR documentation. There are a few things we probably won't do in production if we were optimizing for performance, for example:

It is therefore not recommended to use this app as a reference for Vue SSR performance - instead, do your own benchmarking, and make sure to measure and optimize based on your actual app constraints.

Architecture Overview

screen shot 2016-08-11 at 6 06 57 pm

A detailed Vue SSR guide can be found here.

Build Setup

Requires Node.js 7+

# install dependencies
npm install # or yarn

# serve in dev mode, with hot reload at localhost:8080
npm run dev

# build for production
npm run build

# serve in production mode
npm start

License

MIT

vue-hackernews-2.0 (vuejs/vue-hackernews-2.0)

Searching Database…

Что это такое?Демонстрационное приложение, которое повторяет Hacker News на Vue 2.0, vue-router и Vuex с серверным рендерингом. Оно создано как сопутствующий проект к официальной документации Vue по SSR.
Это фреймворк или пример приложения?Это демонстрационное приложение-образец, а не фреймворк и не библиотека. Его нужно читать и изучать, чтобы понять, как устроить приложение с серверным рендерингом (SSR) на Vue.
Как мне запустить это локально?Установите зависимости через npm, затем выполните скрипт dev (npm run dev), который запускает сервер на Node.js. Для продакшена npm run build собирает клиентский и серверный бандлы, а npm start затем их раздаёт.
Что нужно установить в первую очередь?Node.js версии 7 или выше и npm версии 4 или выше. Для сервера используется Express, для данных — API Hacker News на базе Firebase, а для SSR — vue, vue-router и vue-server-renderer.
Можно ли взять это за основу для продакшен-проекта с SSR?Нет. Автор предупреждает, что это не эталон производительности: разбиение кода на части и вынесение CSS в отдельные файлы включены лишь для демонстрации возможностей, а не потому, что они оптимальны для такого небольшого приложения.
Откуда берутся данные Hacker News?Используется API Hacker News на базе Firebase. Автор отмечает, что оно позволяет получать обновления в реальном времени, но увеличивает размер бандла и не умеет эффективно загружать данные пакетами.
Это прогрессивное веб-приложение (PWA)?Да, в нём есть манифест приложения и сервис-воркер, а демо набирает 100 из 100 баллов в Lighthouse.
Есть ли тут что-то необычное с маршрутизацией или обновлением списков?Есть разбиение кода по маршрутам, подсказки для загрузки ресурсов preload и prefetch, а также анимация FLIP при обновлении списков в реальном времени при переключении разделов.
Как состояние передаётся между сервером и клиентом?Состояние управляется через Vuex. Сервер заранее загружает данные, а затем клиент гидратирует DOM и состояние на основе того, что отрендерил сервер.
Creator
vuejs
Size
1 MB
Stars
10.8K
Updated
CommitJan 20
Age
10y
Commits · 90 Days