webpack-pwa

Example for a super simple PWA with webpack.

  • 所有者: webpack/webpack-pwa
  • 平台:
  • 许可证:
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

webpack-pwa

Super simple webpack PWA(Progressive Web App) example featuring

  • Routing with On Demand Loading
  • Offline support
  • Fetching some data from network
  • Two approaches
    • App Shell
    • Page Shell
  • By intent: No framework, only simple JavaScript and DOM
    • Yes with innerHTML and innerText
    • Feel free to imagine your favorite framework here.

Build and Run it

npm install
npm run build-shell
cd dist
npm install node-static -g
static
open http://localhost:8080/dashboard.html

This builds the App Shell version.

To build the Page Shell version: replace npm run build-shell with npm run build-page.

Architecture

app shell vs page shell

App Shell

  • Total size is smaller
  • Initial load requests three files: login.html, shell-1234.js, 3456.js
  • Initial load needs to load: Shell + Router + content
  • The shell is visible earlier than with Page Shell approach.

Page Shell

  • Total size is bigger (i. e. dashboard content is in dashboard-1234.js and 4567.js)
    • App takes longer to be offline ready.
  • Initial load requests only two files: login.html, login-2345.js
  • Initial load needs to load: Shell + content
  • The shell + content is visible earlier than with App Shell approach.

A hybrid approach can be used where shell and content is separated in two requests (see admin page as example). This makes sense when content is much bigger than shell and shell should be visible earlier.

主要指标

概览
名称与所有者webpack/webpack-pwa
主编程语言JavaScript
编程语言JavaScript (语言数: 2)
平台
许可证
所有者活动
创建于2017-01-25 17:37:23
推送于2019-09-20 15:25:59
最后一次提交2017-02-10 17:32:46
发布数0
用户参与
星数812
关注者数20
派生数52
提交数11
已启用问题?
问题数7
打开的问题数4
拉请求数3
打开的拉请求数0
关闭的拉请求数1
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?