Next.js: рдСрдлрд▓рд╛рдЗрди рдлрд░реНрд╕реНрдЯ рд╕рдкреЛрд░реНрдЯ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 23 рдЬрдире░ 2017  ┬╖  47рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: vercel/next.js

рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдорд░реНрдерди рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ, рдФрд░ рдЖрдзреБрдирд┐рдХ PWA рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред HTML рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдпрд╣ рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдФрд░ рдПрдХ рджреЗрд╢реА рдРрдк рдХреЗ рдмреАрдЪ рдХреА рдЦрд╛рдИ рдХреЛ рдкрд╛рдЯрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрд╡рд╛рдж рд╣реИрдВ:

  • рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдорд░реНрдерди: рдпрд╣ рдСрдлрд╝рд▓рд╛рдЗрди рд╣реЛрдиреЗ рдкрд░ рднреА рд╕рд╛рдЗрдЯ рдХреЛ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ, рдпрджрд┐ рд╕рд╛рдЗрдЯ рдСрдирд▓рд╛рдЗрди рд░рд╣рддреЗ рд╣реБрдП рд▓реЛрдб рдХреА рдЧрдИ рд╣реИред рдпрд╣ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╕реБрд╡рд┐рдзрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

  • рдСрдлрд╝рд▓рд╛рдЗрди рдкрд╣рд▓рд╛ рд╕рдорд░реНрдерди: рдпрд╣ рдСрдлрд╝рд▓рд╛рдЗрди рд╣реЛрдиреЗ рдкрд░ рднреА рд╕рд╛рдЗрдЯ рдХреЛ рдЦреЛрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рд╕рд╛рдЗрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд▓реЛрдб рди рд╣реБрдИ рд╣реЛред

рджреЛрдиреЛрдВ webpack-offline рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡реИрд╕реЗ рднреА рдЬрдм рд╕реЗ рдореИрдВ React рдФрд░ Next.js рджреЛрдиреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд╕реАрдЦ рд░рд╣рд╛ рд╣реВрдБ, рдореИрдВ рдЗрд╕реЗ рдЕрднреА рддрдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рдкрд╛рдпрд╛ рд╣реВрдБред

рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо:

  • webpack-offline рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

npm install offline-plugin --save-dev

  • рдЕрдкрдиреЗ рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ рдХрд╕реНрдЯрдо next.config.js рдмрдирд╛рдПрдВ
const OfflinePlugin = require('offline-plugin');

module.exports = {
  webpack: (config, { dev }) => {
        config.plugins = [
            new OfflinePlugin()
        ];
    return config
  }
};

  • рд╡реЗрдмрдкреИрдХ-рдСрдлрд╝рд▓рд╛рдЗрди рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ

рдпрд╣реА рд╡рд╣ рдХрджрдо рд╣реИ рдЬрд┐рд╕рд╕реЗ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдХреЗ рдЕрдВрджрд░ componentDidMount рдЕрдВрджрд░ рдПрдХ рдШрдЯрдХ рдореЗрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдореБрджреНрджрд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд╕реНрдорд╛рд░рдХ рдФрд░ рдХрд┐рд╕реА рдФрд░ рдЬрд╛рдирдХрд╛рд░ рд╕реЗ рдорджрдж рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рджреЛрдиреЛрдВ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рджреЛрд╕реНрддреЛрдВред Google рдкрд░ рдореЗрд░реА рдЯреАрдо рдХреБрдЫ рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ (рд╡реЗрдмрдкреИрдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕рд╛рде) рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдЬреИрд╕реЗ https://github.com/GoogleChrome/sw-precache рдФрд░ https://github.com/GoogleChrome/sw-toolbox рд░рд┐рдПрдХреНрдЯ/рд╡реЗрдмрдкреИрдХ рд╣реИрд╡реА рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ Lyft, Housing.com, Flipkart рдЖрджрд┐ рдЬреИрд╕реА рд╕рд╛рдЗрдЯреЗрдВред

рдЕрдЧрд░ рдиреЗрдХреНрд╕реНрдЯ рдСрдлрд▓рд╛рдЗрди рд╕рдкреЛрд░реНрдЯ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддрд╛ рд╣реИ рддреЛ рд╣рдореЗрдВ рдХреБрдЫ рдкреЙрдЗрдВрдЯрд░реНрд╕ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреАрдЖрд░рдкреАрдПрд▓ рдЬреИрд╕реЗ рдкреИрдЯрд░реНрди рдХреЛ рд╣рдЯрдХрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдЕрд╡рд╕рд░ рд╣реИ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдХреЛрдб-рд╡рд┐рднрд╛рдЬрди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдкреНрд░реЛрдбрдХреНрд╢рди-рдУрдирд▓реА рд╕рд░реНрд╡рд┐рд╕ рд╡рд░реНрдХрд░ рдХреИрд╢рд┐рдВрдЧ рдПрдХ рд╕рд╛рдл-рд╕реБрдерд░рд╛ рдЬреЛрдбрд╝ рд╣реЛрдЧрд╛ред

рдЖрдкрдХреЛ рдЙрди рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП рддрддреНрдХрд╛рд▓ рд░рд┐рдкреАрдЯ рд▓реЛрдб рджреЗрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЖрдкрдХреЛ V8 рдХреЗ рдХреЛрдб рдХреИрд╢рд┐рдВрдЧ рдореЗрдВ рднреА рдЬрд▓реНрджреА рд╕реЗ рдЪреБрди рд▓реЗрдЧрд╛ рддрд╛рдХрд┐ рдмрд╛рд░-рдмрд╛рд░ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдкрд╛рд░реНрд╕/рд╕рдВрдХрд▓рди рд╕рдордп рдЖрдЬ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рд╣реЛред

рдмреЗрдЭрд┐рдЭрдХ рд╣реЛрд▓рд░ рдХрд░реЗрдВ рдЕрдЧрд░ рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ

рд╕рднреА 47 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг/рджрд╕реНрддрд╛рд╡реЗрдЬ/рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдпрд╣ рднреА рдХрд╛рдо рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдЧрд▓рд╛/рдкреНрд░реАрдлрд╝реЗрдЪ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрднреА рддрдХ рдСрдлрд╝рд▓рд╛рдЗрди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдбреЗрдЯрд╛ рдкреНрд░реАрдлрд╝реЗрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ: https://github.com/zeit/next.js/issues/740

рд╕реАрдзреЗ Next.js рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рднреА рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рддрдирд╛ рдбреЗрдЯрд╛ рдСрдлрд╝рд▓рд╛рдЗрди рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдХрд┐рд╕реА рд╡реЗрдмрдПрдк рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдЖрджрд┐ рд╣реИрдВ - рдХреНрдпрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХреБрдЫ рдХрдард┐рди рд╕реАрдорд╛ рд╣реИ? рдФрд░ рдореЛрдмрд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?), рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдПрдХ рдЪреАрдЬрд╝ рдХреЛ рдмрд╛рдж рдХреЗ рд▓рд┐рдП рдкреНрд░реА-рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВ, рдЖрджрд┐ред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рднреА рдпрд╣рд╛рдВ рдЪреАрдЬреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛: https://github.com/zeit/next.js/issues/24#issuecomment -258804529 (рдЕрдЧрд▓реЗ рд╕реЗ рдкрд╣рд▓реЗ/рдкреНрд░реАрдлреЗрдЪ рдПрдХ рдмрд╛рдд рдереА )

рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ, рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдФрд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛ рд╕реАрдорд╛рдПрдВ рд╣реИрдВред рдЖрдк "рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реНрдЯреЛрд░реЗрдЬ рдПрдмреНрдпреВрд╕рд░" рдореЗрдВ рд╕реАрдорд╛рдУрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: https://demo.agektmr.com/storage/

рдорд╛рдирдХреАрдХреГрдд рд╡рд┐рдзрд┐ рдЬреЛ рдСрдлрд╝рд▓рд╛рдЗрди рднрдВрдбрд╛рд░рдг рдФрд░ рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рд╣реИ, IndexedDB рд╣реИред рдпрд╣ рдЕрдм рдЖрдИрдУрдПрд╕ рд╕рдлрд╛рд░реА (v10) рдореЗрдВ рднреА рд╕рдорд░реНрдерд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдВ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдореБрджреНрджреЗ рд╣реИрдВред рдЕрдиреНрдпрдерд╛ рдЕрдм рдЗрд╕рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд╕рдорд░реНрдерди рд╣реИ: http://caniuse.com/#feat =indexeddb

рдЬреИрд╕реЗ рдкрд╛рдЙрдЪрдбреАрдмреА рдЕрднреА рднреА рд╕рдлрд╛рд░реА рдкрд░ рдЗрдВрдбреЗрдХреНрд╕рдб рдбреАрдмреА рдХреЗ рдмрдЬрд╛рдп рд╡реЗрдмрдПрд╕рдХреНрдпреВрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред https://github.com/pouchdb/pouchdb/issues/5572
рд╕реНрдерд╛рдиреАрдп рдЪрд╛рд░рд╛ рдХреЗ рд╕рд╛рде рднреА: https://github.com/localForage/localForage/issues/604

рдкрд╛рдЙрдЪрдбреАрдмреА рдореЗрдВ рдбреЗрдЯрд╛ рд╕реАрдорд╛рдУрдВ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рд╛рд░рд╛рдВрд╢ рд╣реИ: https://pouchdb.com/faq.html#data_limits (рдереЛрдбрд╝рд╛ рдкреБрд░рд╛рдирд╛)
рдФрд░ рдЗрд╕ рдкреБрд░рд╛рдиреЗ рд▓реЗрдЦ рдореЗрдВ рдпрд╣ рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдореЛрдмрд╛рдЗрд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдХреБрдЫ рд╕реНрдЯреЛрд░реЗрдЬ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдЕрдиреНрдп рдкрд╣рд▓реБрдУрдВ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИ https://www.html5rocks.com/en/tutorials/offline/quota-research/

рдЖрдк рдЕрдкрдиреЗ рд╡рд░реНрддрдорд╛рди рдХреЛрдЯрд╛ рдХреЗ рд▓рд┐рдП рднреА рдкреВрдЫрддрд╛рдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдЕрдзрд┐рдХ рд▓рдЧрд╛рддрд╛рд░ рднрдВрдбрд╛рд░рдг рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: https://jakearchibald.com/2014/offline-cookbook/#cache -persistence

рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рд╕реЗрд╡рд╛ рдХрд░реНрдорд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд▓рдВрдмреЗ рдХреИрд╢ рд╕рдорд╛рдкреНрддрд┐ рдореВрд▓реНрдпреЛрдВ рдФрд░ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдХреИрд╢ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреИрд╢рд┐рдВрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдмрд╕ рдкреНрд░рддреНрдпреЗрдХ рдЪрдпрдирд┐рдд рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдПрдХ http рдЕрдиреБрд░реЛрдз рдХрд░рдХреЗред рдпрд╣ рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рднреА рдХрд╛рдлреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рд╕реАрдорд╛ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдХреИрд╢ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╣рдЯрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдХреЗрд╡рд▓ рд╕реЗрд╡рд╛ рдХрд░реНрдорд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╣реА рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
https://developer.mozilla.org/en-US/docs/Web/API/Cache
https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers

рдмрд╕ рдпрд╛рдж рд░рдЦреЗрдВ, рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдЬрдЧрд╣ рдЦрддреНрдо рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдХ рд╕рдордп рдореЗрдВ рдкреВрд░реЗ рдореВрд▓ рдХреЛ рддрдм рддрдХ рдмреЗрджрдЦрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╡рд╣ рд╕реАрдорд╛ рдХреЗ рднреАрддрд░ рди рд╣реЛ:
https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Browser_storage_limits_and_eviction_criteria

Addy Osmani рдХрд╛ рдПрдХ рдФрд░ рдЙрдкрдпреЛрдЧреА рд▓реЗрдЦ: https://medium.com/dev-channel/offline-storage-for-progressive-web-apps-70d52695513c#.9vja3t8gp

рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдПрдХ рд╕реНрдЯреЛрд░реЗрдЬ рдПрдкреАрдЖрдИ рдкрд░ рднреА рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ: https://storage.spec.whatwg.org/

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рднрдВрдбрд╛рд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
"рдкрд░рдВрдкрд░рд╛рдЧрдд рд░реВрдк рд╕реЗ, рдЪреВрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реНрдкреЗрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрди рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдмрд┐рдирд╛ рдЦреЛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕рд╣рдорддрд┐ рдХреЗ рдмрд┐рдирд╛ рд▓рдЧрд╛рддрд╛рд░ рдмреЙрдХреНрд╕ рдХреЛ рд╕рд╛рдлрд╝ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдбреЗрдЯрд╛ рдЧрд╛рд░рдВрдЯреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд▓рд╛рддрд╛ рд╣реИ рд╡реЗрдм рдкрд░ рджреЗрд╢реА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЖрдирдВрдж рд▓рд┐рдпрд╛ рд╣реИред"

рдЖрдИрдПрдордУ рдПрдХ рд╕рд╛рдЗрдЯ/рдРрдк рдХреЛ рдСрдлрд╝рд▓рд╛рдЗрди рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдирд┐рд░реНрдгрдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рдПрдХ рдврд╛рдВрдЪреЗ рдХреЛ рд╕реНрд╡рдпрдВ рдирд╣реАрдВ рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдПрдХ рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдСрдлрд╝рд▓рд╛рдЗрди рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрдХрдиреАрдХреЗрдВ рд╣реИрдВред

рдзрдиреНрдпрд╡рд╛рдж @improunciable ред рдХреНрдпрд╛ рдЖрдк рд╡реЗрдмрдкреИрдХ-рдСрдлрд╝рд▓рд╛рдЗрди рдпрд╛ рдХреБрдЫ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ?

рдЖрдк рдХрд┐рд╕ рддрд░рд╣ рдХреЗ рдлреИрд╕рд▓реЛрдВ рдХреА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЛ рдореБрдЦреНрдп рдореБрджреНрджреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

1) рд╕реНрдерд┐рд░ рд╕рдВрдкрддреНрддрд┐ рдХреИрд╢рд┐рдВрдЧ: рдЬреЗрдПрд╕, рдПрдЪрдЯреАрдПрдордПрд▓, рдЫрд╡рд┐рдпреЛрдВ рдХреА рддрд░рд╣, ... рдпрд╣ рд▓рдЧрднрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд╛рдЧреВ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдСрдлрд╝рд▓рд╛рдЗрди рд╕реНрд╡рд╛рдж рдореЗрдВ рдФрд░ /static рдХреЗ рдмрд╣рд┐рд╖реНрдХрд░рдг рдХреЗ рд╕рд╛рде, рдФрд░ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╣рдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рд╡реЗрдмрдкреИрдХ-рдСрдлрд╝рд▓рд╛рдЗрди рдФрд░ рд╕реЗрд╡рд╛ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдкрд╕рдВрджреАрджрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред

2) рдбреЗрдЯрд╛ рдХреИрд╢рд┐рдВрдЧ: рд░рд╛рдЬреНрдп, рдкреНрд░рд╢реНрди, рдЕрд╕реНрдерд┐рд░ рдбреЗрдЯрд╛, .... рдЕрдзрд┐рдХ рдЪрд┐рдВрддрд╛рдПрдВ рдкреИрджрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдорд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рд▓реЛрдб рдХрд░реЗрдВрдЧреЗред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рджрд┐рдЦрд╛ рд╕рдХреЗрдВ рдХрд┐ рд░рд╛рдЬреНрдп рдХреЛ рд░реЗрдбрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдФрд░ рдлрд┐рд░ рд▓реЛрдЧ рдбреЗрдЯрд╛ рдХреЛ рд░реЗрдбрдХреНрд╕ рдореЗрдВ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЧреНрд░рд╛рдлрд╝рдХреНрдпреВрдПрд▓/рдЕрдкреЛрд▓реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдХреИрд╢рд┐рдВрдЧ рдХреНрд╡реЗрд░реА рдФрд░ рдореНрдпреВрдЯреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдХрд╡рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@servermeta рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рдЖрдХреНрд░рд╛рдордХ рдХреИрд╢рд┐рдВрдЧ рд░рдгрдиреАрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдмрд╕ рдПрдХ рдХрд╕реНрдЯрдо рд╕рд░реНрд╡рд░ рдФрд░ https://serviceworke.rs/ рд╕реЗ рдПрдХ рд░рдгрдиреАрддрд┐

рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдпрд╣рд╛рдБ рдХрд╛рдо рдХрд░ рд░рд╣рд╛

рдзрдиреНрдпрд╡рд╛рдж @ooade , рдЕрдЪреНрдЫрд╛ рдХрд┐рдпрд╛, рдЖрдкрдиреЗ рдореЗрд░рд╛ рдмрд╣реБрдд рд╕рдордп рдмрдЪрд╛рдпрд╛ред

рдХрд┐рд╕реА рднреА рддрд░рд╣ рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рд░рд╛рдЬреНрдп рд░реАрдлреНрд░реЗрд╢, рд░реАрд▓реЛрдб рдХреЗ рдмреАрдЪ рдирд╣реАрдВ рд░рд╣рддрд╛ рд╣реИред рдореИрдВ рдпрд╣ рд╕реЛрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПред

рдзрдиреНрдпрд╡рд╛рдж @ooade ред рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рд╕реЗ рдЖрдкрдХрд╛ рдорддрд▓рдм рд╕реНрдерд╛рдиреАрдп рдбреАрдмреА рд╕реЗ рд╣реИ, рдЬреИрд╕реЗ рдореЛрдВрдЧреЛрдбрдм, рдпрд╛ рд▓реЛрдХрд▓рд╕реНрдЯреЛрд░реЗрдЬ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: рдСрдлрд╝рд▓рд╛рдЗрди рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЛ рджреЗрд╡ рдкрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдмрдХрд┐ рд╣рдо рд░реЗрдбрдХреНрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реЗ рджреЗрдЦреЛ:

https://github.com/rt2zz/redux-persist

рдЗрд╕рдХреЗ рд╕рд╛рде рд╣рдо рд╕реНрдЯреЗрдЯ рдХреЛ рд▓реЛрдХрд▓ рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд░рд┐рдлреНрд░реЗрд╢, рд░реАрд▓реЛрдб, рдЯреИрдм рдФрд░ рд╕реЗрд╢рди рдХреЗ рдмреАрдЪ рдмрдирд╛ рд░рд╣ рд╕рдХрддрд╛ рд╣реИред

рджреЛрд╕реНрддреЛрдВред Google рдкрд░ рдореЗрд░реА рдЯреАрдо рдХреБрдЫ рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ (рд╡реЗрдмрдкреИрдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕рд╛рде) рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдЬреИрд╕реЗ https://github.com/GoogleChrome/sw-precache рдФрд░ https://github.com/GoogleChrome/sw-toolbox рд░рд┐рдПрдХреНрдЯ/рд╡реЗрдмрдкреИрдХ рд╣реИрд╡реА рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ Lyft, Housing.com, Flipkart рдЖрджрд┐ рдЬреИрд╕реА рд╕рд╛рдЗрдЯреЗрдВред

рдЕрдЧрд░ рдиреЗрдХреНрд╕реНрдЯ рдСрдлрд▓рд╛рдЗрди рд╕рдкреЛрд░реНрдЯ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддрд╛ рд╣реИ рддреЛ рд╣рдореЗрдВ рдХреБрдЫ рдкреЙрдЗрдВрдЯрд░реНрд╕ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреАрдЖрд░рдкреАрдПрд▓ рдЬреИрд╕реЗ рдкреИрдЯрд░реНрди рдХреЛ рд╣рдЯрдХрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдЕрд╡рд╕рд░ рд╣реИ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдХреЛрдб-рд╡рд┐рднрд╛рдЬрди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдкреНрд░реЛрдбрдХреНрд╢рди-рдУрдирд▓реА рд╕рд░реНрд╡рд┐рд╕ рд╡рд░реНрдХрд░ рдХреИрд╢рд┐рдВрдЧ рдПрдХ рд╕рд╛рдл-рд╕реБрдерд░рд╛ рдЬреЛрдбрд╝ рд╣реЛрдЧрд╛ред

рдЖрдкрдХреЛ рдЙрди рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП рддрддреНрдХрд╛рд▓ рд░рд┐рдкреАрдЯ рд▓реЛрдб рджреЗрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЖрдкрдХреЛ V8 рдХреЗ рдХреЛрдб рдХреИрд╢рд┐рдВрдЧ рдореЗрдВ рднреА рдЬрд▓реНрджреА рд╕реЗ рдЪреБрди рд▓реЗрдЧрд╛ рддрд╛рдХрд┐ рдмрд╛рд░-рдмрд╛рд░ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдкрд╛рд░реНрд╕/рд╕рдВрдХрд▓рди рд╕рдордп рдЖрдЬ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рд╣реЛред

рдмреЗрдЭрд┐рдЭрдХ рд╣реЛрд▓рд░ рдХрд░реЗрдВ рдЕрдЧрд░ рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ

@addyosmani рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдорд░реНрдерди 2.0 рд╕реНрдерд┐рд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣рдорд╛рд░реА рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ

@rauchg 2.0 рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬ рдХреА рддрд╛рд░реАрдЦ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЕрдиреБрдорд╛рди?
рд╣рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрддреНрдкрд╛рджрди рд╢реБрд░реВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ рдФрд░ рд╣рдо Next.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ
рдореИрдВ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрдорд╛рди, рджрд┐рди/рд╕рдкреНрддрд╛рд╣/рдорд╣реАрдиреЗ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реВрдВрдЧрд╛...
рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

@ рдЕрдЬрд░-рдЕрдЬрд░ 2.0.0 рдЖрдЬ рд░рд┐рд▓реАрдЬ рд╣реБрдИред

@rauchg рдСрдлрд╝рд▓рд╛рдЗрди-рдкреНрд░рдердо рд╕рдорд░реНрдерди рд╣реИ рдЬрд┐рд╕реЗ рдпрд╣рд╛рдВ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛ рдмрдирд╛рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ?

рдХреГрдкрдпрд╛ @jevakallio рджреНрд╡рд╛рд░рд╛ рдирдпрд╛ рдУрдкрди-рд╕реЛрд░реНрд╕ рд░реЗрдбрдХреНрд╕ -рдСрдлрд╝рд▓рд╛рдЗрди рднреА рджреЗрдЦреЗрдВред рдЕрдЧрд▓рд╛ + рд░реЗрдбрдХреНрд╕-рдСрдлрд╝рд▓рд╛рдЗрди рдЙрджрд╛рд╣рд░рдг рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рддреЛ рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, рдореИрдВ рдЗрд╕реЗ next.config.js рдХрд░рдиреЗ рдФрд░ рдСрдлрд╝рд▓рд╛рдЗрди-рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рдЕрдЧрд▓рд╛ рдПрдХ рднрдпрд╛рдирдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрдкрд░ рдкреВрд░реНрдг (рдФрд░ рдХреВрд▓рд░) рд╣реЛрдЧрд╛ рдпрджрд┐ рдЗрд╕рдореЗрдВ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ (рдСрдлрд╝рд▓рд╛рдЗрди-рдкреНрд░рдердо) рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ!

@ saulflores95 рдХрд╛ рдЙрдкрдпреЛрдЧ @ooade рдХреЗ NextSimpleStarter рдХреА рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ :)

@AugustinLF NextSimpleStarter рдСрдлрд╝рд▓рд╛рдЗрди рдХреНрд╖рдорддрд╛рдУрдВ рдХреА рдкреЗрд╢рдХрд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред https://github.com/ooade/NextSimpleStarter/issues/23#issuecomment -294310240

@sedubois рдХрд┐рд╕реА рдХреЗ рдЖрдиреЗ рдФрд░ рдЗрд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ

@timmywil , рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ nextjs рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдХреНрд╖рдо рдРрдк рдХрд╛ GitHub рд░реЗрдкреЛ рд╣реИ? рдзрдиреНрдпрд╡рд╛рджред

рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА appcache рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдорд░реНрдерди рдХрд╛ рдПрдХ (рдмреАрдЯрд╛) рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдпрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд╕рдлрд╛рд░реА рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдХреГрдкрдпрд╛ http://github.com/ssured/nownextmicro рдкрд░ рдПрдХ рдирдЬрд░ рдбрд╛рд▓реЗрдВ

рдирдорд╕реНрдХрд╛рд░, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдореЗрдВ рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рд╣реИред
https://github.com/Sly777/ran

рдпрд╣ рдереЛрдбрд╝реА рдЫреЛрдЯреА рдЧрд╛рдбрд╝реА рд╣реИред рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ "рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ" рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд╡реИрд╕реЗ рднреА, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИред

@rauchg рдХреНрдпрд╛ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЕрднреА рднреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ?

@rauchg next.js 4.0 рдмреАрдЯрд╛ рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде, рдХреНрдпрд╛ рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░реЛрдбрдореИрдк рдореЗрдВ рдСрдлрд╝рд▓рд╛рдЗрди рдкреНрд░рдердо рд╕рдорд░реНрдерди рд╣реЛрдиреЗ рдХреА рдХреЛрдИ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ?

рдореИрдВ рдлреАрдЪрд░ рдХреА рдЦрдмрд░ рдорд╛рдВрдЧреВрдВрдЧрд╛ ^^

Next.js 5.0 рдЬрд╛рд░реА рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдмрдзрд╛рдИ!) рд▓реЗрдХрд┐рди рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдорд░реНрдерди рдХрд╛ рдХреЛрдИ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИ, рдХреНрдпрд╛ рдХреЛрдИ рдирдпрд╛ рд░реЛрдбрдореИрдк рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ? рдЕрдм рддрдХ рдХрд┐рдП рдЧрдП рдЕрджреНрднреБрдд рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

@idhard рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдорд░реНрдерди рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред
(рд▓реЗрдХрд┐рди рдЪреАрдЬреЗрдВ рдмрджрд▓ рд╕рдХрддреА рд╣реИрдВ)

рд▓реЗрдХрд┐рди рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реИрдВ рдХрд┐ Next.js рдХреЛрдИ рдЬрд╛рджреВ рди рдХрд░реЗред рддреЛ, рдЖрдк рд╕реАрдзреЗ рд╡реЗрдмрдкреИрдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдФрд░ рд▓реЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред
рдЕрдЧрд▓рд╛ 5 рдЪрд░рдг рдПрдХ рд╣реИред

@idhard рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрдВрдмрд▓ рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рд╕рд╣рдЬ рдЬреНрдЮрд╛рди рдпреБрдХреНрдд рд╣реЛрдЧрд╛, рдХреБрдЫ рдРрдкреНрд╕ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

рдореЗрд░реА рдирд┐рдЬреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдореИрдВ рдЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ https://github.com/zeit/next.js/tree/canary/examples/with-sw-precache рдФрд░ рд╣рдо рднреА рдкрд░ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ ^ Eaze рдПрдХ рдмрд╛рд░ рдЖрдИрдУрдПрд╕ 11.3 рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛ рдЪреБрдХреА рд╣реИред.

@hanford рд╣рд╛рдБ рд╕реАрдЖрд░рдП рдкрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡реЗрдмрд╡рд░реНрдХрд░реНрд╕ рдХреЗ рд╕рдорд░реНрдерди рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (https://github.com/facebook/create-react-app/issues/2554#event-1431558318), рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗрдмрд╡рд░реНрдХрд░реНрд╕ рдФрд░ рдкреАрдбрдмреНрд▓реНрдпреВрдП рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╛рдзрд╛рди рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдиреЗрдХреНрд╕реНрдЯ рдХреА рдЯреАрдо рдХреЗ рдкрд╛рд╕ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ, рдЬреИрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдкреГрд╖реНрдаред

@idhard рд╣рд╛рдБ, рдХреЛрд░ рдЯреАрдо рдХреЗ рд▓рд┐рдП рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рджреБрд╡рд┐рдзрд╛ рдХреА рддрд░рд╣ред рдореИрдВ рдКрдкрд░ рдмрддрд╛рдП рдЧрдП рд╕реНрд╡-рдкреНрд░реАрдХреИрд╢ рдкреНрд▓рдЧрдЗрди рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦреБрд╢ рд╣реВрдВред

рдореЗрд░реА рдирд┐рдЬреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реНрдерд┐рд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ manifest.json рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде-рд╕рд╛рде sw-precache рд╡реЗрдмрдкреИрдХ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИред рдпрджрд┐ рдЖрдк рдЙрддреНрд╕реБрдХ рд╣реИрдВ, рддреЛ рдХреЛрдб рдпрд╣рд╛рдВ рдЦрддреНрдо рд╣реЛ рдЧрдпрд╛ рд╣реИ .. рдХрд╛рдо рдереЛрдбрд╝рд╛ рдореИрд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдХреЗ рднреАрддрд░ рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдорд░реНрдерди рдФрд░ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдЬреЗрд╕рди рдЬреЛрдбрд╝рд╛ред

@hanford рдЖрдИрдУрдПрд╕ 11.3 рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдЗрд╕рдореЗрдВ рд╕реЗрд╡рд╛ рдХрд░реНрдордЪрд╛рд░реА рд╣реЛрдВрдЧреЗ? рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдВрджрд░реНрдн рд╣реЛрдЧрд╛?

@hanford @idhard рд╣рдордиреЗ рд╕реАрдЖрд░рдП рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗрд╡рд╛ рдХрд░реНрдорд┐рдпреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдореБрджреНрджреЗ рдереЗред
рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╡реЗрдм рдХреИрд╢рд┐рдВрдЧ рддрдХрдиреАрдХ рдХреЗ рд╕рд╛рде рдкреНрд░реАрдлрд╝реЗрдЪрд┐рдВрдЧ рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рд╣реИред
рдпрд╣ рдЕрджреНрднреБрдд рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╕реБрдзрд╛рд░ рдХрд╛ рдПрдХ рдирдпрд╛ рд╕реЗрдЯ рдЬрд▓реНрдж рд╣реА рдЖ рд░рд╣рд╛ рд╣реИред

рд╣рд╛рдВ рдмрд┐рд▓реНрдХреБрд▓ рдСрдлрд▓рд╛рдЗрди рдПрдХ рдРрд╕реА рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдореЗрдВ SW рдХреА рдЬрд░реВрд░рдд рд╣реИред
рд▓реЗрдХрд┐рди рдпрд╣ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрд╕реНрдерд┐рд░ рдФрд░ рдХрдард┐рди рд╣реИред рдЪреАрдЬреЗрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдФрд░ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдХреЛ рддреЛрдбрд╝ рд╕рдХрддреА рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред
рд▓реЗрдХрд┐рди рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ Next.js рдкреНрд▓рдЧрдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ sw-precache рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдпрд╛ рдмрд╕ рд╡реЗрдмрдкреИрдХ рд▓реЛрдбрд░ рдФрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЬреЛрдбрд╝рдирд╛)

рдЖрдИрдУрдПрд╕ рд╕рдлрд╛рд░реА рдкрд░ рдПрдкреНрдкрд▓ рдХреА рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП @sedubiois https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_11_1.html рджреЗрдЦреЗрдВред рд╕реЗрд╡рд╛ рдХрд░реНрдорд┐рдпреЛрдВ рдХреА рдШреЛрд╖рдгрд╛

рд╣рд╛рдБ @ssured @sedubois рд╕рд░реНрд╡рд┐рд╕ рд╡рд░реНрдХрд░ рдЖрдИрдУрдПрд╕ 11.3 рдореЗрдВ рдореЛрдмрд╛рдЗрд▓ рд╕рдлрд╛рд░реА рдореЗрдВ рдЙрддрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдХрд╛рдлреА рд░реЛрдорд╛рдВрдЪрдХ рд╣реИ! рдореИрдВ рдЖрдИрдУрдПрд╕ 11.3 рдмреАрдЯрд╛ 2 рдкрд░ рд╣реВрдВ рдФрд░ рдХрдИ рдмрдЧ рд╣реИрдВ, (рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЛ рд╣реЛрдорд╕реНрдХреНрд░реАрди рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдкрд░ рд╕реЗрд╡рд╛ рдХрд░реНрдорд┐рдпреЛрдВ рдХреЛ рдареАрдХ рд╕реЗ рдкрд╣рдЪрд╛рдирд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рд╕реЗрдм рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░рд┐рд▓реАрдЬ рд╕реЗ рдкрд╣рд▓реЗ рдЗрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░ рджреЗрдЧрд╛)

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @arunoda рдЬреЛ рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣рд╛ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ Next.js рд╡рд░реНрддрдорд╛рди рдХреИрд╢рд┐рдВрдЧ рд░рдгрдиреАрддрд┐ (рдХреИрд╢-рдХрдВрдЯреНрд░реЛрд▓ рд╣реЗрдбрд░, рдИрдЯреИрдЧ, рдЖрджрд┐) рд╕реЗрд╡рд╛ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рд╣реИред рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╛рдл-рд╕реБрдерд░реА рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рдмреЗрд╣рддрд░ рдЕрдирд╛рдЬ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ (рдХреИрд╢ рдХреА рдЧрдИ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЬрд▓реНрджреА рд╡рд╛рдкрд╕ рдХрд░рдирд╛) ..

@ssured @sedubois рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯрд╛ рдкреНрд▓рдЧрдЗрди рдмрдирд╛рдпрд╛ рд╣реИ рдЬреЛ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ Zeit рдиреЗ рджреВрд╕рд░реЗ рджрд┐рди рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдерд╛ред

рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ! https://github.com/hanford/next-offline

@hanford рд╣рдорд╛рд░реЗ рдЬреАрд╡рди рдХреЛ рдереЛрдбрд╝рд╛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж
@arunoda рдЬрдмрдХрд┐ next.js 5 рдореЗрдВ рдкреНрд▓рдЧрдЗрди рд╕рдорд░реНрдерди рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реИ, рдХреНрдпрд╛ рдпрд╣ рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдлрд╛рдпрджреЗрдордВрдж рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдореБрдЦреНрдп next.js рд░реЗрдкреЛ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╕рднреА рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рд╕рд╣рд╛рдпрдХ рдХреЗ рдмрдЬрд╛рдп рд░реЗрдкреЛ? рдЕрдзрд┐рдХрд╛рдВрд╢ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореБрдЦреНрдп рд░реЗрдкреЛ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рдВрднрд╛рд╡рд┐рдд рдкреНрд▓рдЧрдЗрди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдкрд╛рд╕ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рд╣реЛрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░реЗрдкреЛ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдФрд░ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рдкреНрд▓рдЧрдЗрди рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рд╡рд┐рдЦрдВрдбрди рдХреЗ рдХрд╛рд░рдг рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕рдордп рдмрд░реНрдмрд╛рджреА рдХреА рдмрдЪрдд рд╣реЛрдЧреАред

рдХрд┐рд╕реА рдФрд░ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдЧреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рдореИрдВрдиреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдЖрд╕рд╛рдиреА рд╕реЗ SW-precache рд╡реЗрдмрдкреИрдХ рдкреНрд▓рдЧрдЗрди рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ ( рдЙрджрд╛рд╣рд░рдг, рдлрд┐рд░ рд╕реЗ )ред

рдореИрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ рд▓реЗрдХрд┐рди рд╣рдирдлреЛрд░реНрдб рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рди рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдкреНрд▓рдЧрдЗрди рдСрдЯреЛ рдХреЛ рд╕рд░реНрд╡рд┐рд╕ рд╡рд░реНрдХрд░ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ next.config.js рдореЗрдВ рдХреБрдЫ рд╕рдВрд╢реЛрдзрди рдХрд░рдиреЗ рдкрдбрд╝реЗ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЕрдм рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рдХрд╕реНрдЯрдо рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдЖрд▓реЗрдЦ/рд╕реНрд▓рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд░реВрдЯ рд╕реЗрдЯрдЕрдк рд╣реИред рдЬрдм рдореИрдВ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдпреВрдЖрд░рдПрд▓ рдкрд░ рдЬрд╛рддрд╛ рд╣реВрдВ рддреЛ рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдЙрд╕ рдпреВрдЖрд░рдПрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рднреЗрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред рдХрд┐рд╕реА рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рд░реЛрдХ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рд▓реЗрдЦ рдкрд░реЛрд╕ рд╕рдХрддрд╛ рд╣реВрдВ? рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд░реНрдХрдмреЙрдХреНрд╕ рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред

рдХреНрдпрд╛ рд╣рдореЗрдВ рдЕрднреА рднреА рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдиреЗрдХреНрд╕реНрдЯрдЬреЗрдПрд╕ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╕реЗрд╡рд╛ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЗ рдХрд┐рд╕реА рднреА рдПрдХреАрдХрд░рдг рдпрд╛ рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдорд░реНрдерди рдХреА рдЙрдореНрдореАрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд▓реЛрдЧ рдкрд╣рд▓реЗ рдХрд╣ рд░рд╣реЗ рдереЗ рдХрд┐ рдпрд╣ рдПрдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдбреЗрдврд╝ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдЦреБрд▓реА рд╣реБрдИ рд╣реИ...

@ caribou-code рдореИрдВ Zeit рдЯреАрдо рдХреЗ рд▓рд┐рдП Next.js рдХреЗ рд▓рд┐рдП рдЙрдирдХреА рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдерд╛: https://github.com/hanford/next-offline рдЬреЛ рдЖрдкрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдСрдлрд▓рд╛рдЗрди рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдиреЗ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рд╣реБрдб рдХреЗ рддрд╣рдд рдпрд╣ googles рд╡рд░реНрдХрдмреЙрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рдПрдХ рдмрд╣реБрдд рд╣реА рд░реЛрдорд╛рдВрдЪрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ: https://developers.google.com/web/tools/workbox/

рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рдЬрд╣рд╛рдВ рдореИрдВ next-offline рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

@hanford рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдмрд╕ рдЕрдЧрд▓реА-рдСрдлрд╝рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ! рдЕрд╕рд▓ рдореЗрдВ рдпрд╣ рдПрдХрдорд╛рддреНрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЕрдм рддрдХ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЕрдЪреНрдЫрд╛ рдХрд╛рд░реНрдп!

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ sw-precache-webpack-plugin рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдиреЗрдХреНрд╕реНрдЯрдЬреЗрдПрд╕ рд░реЗрдкреЛ рдореЗрдВ рдЗрд╕рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ , рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рдХреИрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ рдореЗрд░реА рд╕рднреА рдЕрдЧрд▓реА рдлрд╛рдЗрд▓реЛрдВ рдХреА рд╕реЗрд╡рд╛ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ред рд╡рд╣ рдкреНрд▓рдЧрдЗрди рднреА рдХрд╛рдлреА рд▓реЛрдХрдкреНрд░рд┐рдп рд▓рдЧрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдиреЗрдХреНрд╕реНрдЯрд╕рд┐рдВрдкрд▓рд╕реНрдЯрд╛рд░реНрдЯрд░ рдмрдирд╛рдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди, рдпрд╣ рдореЗрд░реЗ рд╕рдВрдЬреНрдЮрд╛рди рдореЗрдВ рдЖрдпрд╛ рдХрд┐ рд╕реНрд╡-рдкреНрд░реАрдХреИрдЪ рдЕрдХреЗрд▓реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдСрдлрд╝рд▓рд╛рдЗрди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╡рд░реНрдХрдмреЙрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд▓реЗ рдЧрдП рдЬреЛ рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдЕрднреА рдЗрд╕реЗ рдореМрдЬреВрджрд╛ рдорд╛рдирдХреЛрдВ (рдЖрдЗрдХрди рдЖрдХрд╛рд░ рд╡рдЧреИрд░рд╣) рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВ рдХреБрдЫ рджрд┐рдиреЛрдВ рдореЗрдВ рдареАрдХ рдХрд░ рджреВрдВрдЧрд╛ред рдЗрд╕реЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдореБрджреНрджреЗ рдХреЛ рд╕рдВрддреЛрд╖рдЬрдирдХ рдирд╣реАрдВ рдкрд╛рддреЗ рд╣реИрдВ рддреЛ рдЙрд╕реЗ рдЫреЛрдбрд╝ рджреЗрдВред

@ рд╣реИрдирдлреЛрд░реНрдб рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдореЛрдб рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЙрд╕ рдореЛрдб рдореЗрдВ рдХреЛрдИ рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдЖрдкрдХреЗ рд░реАрдбрдореА рд╕реЗ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛ рдХрд┐ рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рдореЛрдб рдореЗрдВ рдФрд░ рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдФрд░ рдиреЛрдб рд╕рд░реНрд╡рд░ рдХреЗ рдмрд┐рдирд╛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред рдореИрдВ рдЕрдкрдиреЗ рдРрдк рдХреЛ Netlify рдкрд░ рднреА рддреИрдирд╛рдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдореИрдВ next export рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореЗрд░рд╛ рдРрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдерд┐рд░ рд╣реИред рдореБрдЭреЗ next export рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдпрджрд┐ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ ред рдореИрдВ рд╡рд╣реА рдХрд░реВрдБрдЧрд╛ рдЬреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рдирдХрд╛рд░реА рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХреБрдЫ рднреА рдЦрд░реНрдЪ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣ рдПрдХ рд╣реЙрдмреА рдРрдк рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд▓рдЪреАрд▓рд╛ рд╣реВрдВред

@ooade рдпрд╣ рднреА рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ

A bad HTTP response code (404) was received when fetching the script.

@dancancro рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП next-offline рдХрд░рддреЗ рд╣реБрдП рднреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ next-export

next-offline рдореЗрдВ рдПрдХ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЪрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЦреЛрд▓рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдореИрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рджреЗрдЦ рд╕рдХреВрдВ?

@ рд╣реИрдирдлреЛрд░реНрдб рдореИрдВ рдРрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдФрд░ рдореИрдВ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдЯреВрдЯрдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реВрдВред рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рдЪрд░рдг рдХреЗрд╡рд▓ рдЖрдкрдХреЗ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ ред рдПрдХрдорд╛рддреНрд░ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рдореЛрдб рдореЗрдВ рдХреИрд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдПред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдПрдХ рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЛ рджреЗрд╡ рдореЛрдб рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рд▓рд┐рдП рдЬреЛ рд╣реБрдЖ рд╡рд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рдореБрдЭреЗ рдмрд╕ рдХреБрдЫ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рдореЛрдб рдореЗрдВ рдХреИрд╕реЗ рдЪрд▓рд╛рдПрдВ, рдФрд░ рдпрджрд┐ next export рд╕рдВрднрд╡ рд╣реИ, рддреЛ next export рд╕рд╛рде рдЙрддреНрдкрд╛рджрди рдореЛрдб рдореЗрдВ рд╕реНрдерд┐рд░, рд╕рд░реНрд╡рд░-рд░реЗрдВрдбрд░ рдХреЛрдб рдХреИрд╕реЗ рдЪрд▓рд╛рдПрдВред

@dancancro рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╡рд╣ рдЪрд░реНрдЪрд╛ рдпрд╣рд╛рдВ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ Next.js рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдХреГрдкрдпрд╛ рдпрд╣рд╛рдВ рдПрдХ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВ рдФрд░ рдореБрдЭреЗ рдЖрдкрдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░/рдЙрддреНрддрд░ рджреЗрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдпрджрд┐ рд╣рдо рдХрд┐рд╕реА рдЕрд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЗ/рд░реЗрдкреЛ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕рдореБрджрд╛рдп рдХреЛ рдХреЛрдИ рд▓рд╛рдн рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ

рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдиреЗрдХреНрд╕реНрдЯ.рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдП рд╢реВрдиреНрдп рдХреЙрдиреНрдлрд┐рдЧ рдкреАрдбрдмреНрд▓реНрдпреВрдП рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдпрд╛ рд╣реИ: рдЕрдЧрд▓рд╛-рдкреАрдбрдмреНрд▓реНрдпреВрдП

рдпрд╣рд╛рдВ рдЙрджрд╛рд╣рд░рдг рдЪреЗрдХрдЖрдЙрдЯ рдХрд░реЗрдВ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

sospedra picture sospedra  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

wagerfield picture wagerfield  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

olifante picture olifante  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

flybayer picture flybayer  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

timneutkens picture timneutkens  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ