An Ember Service Worker plugin that serves an Ember app's index file and falls back to a cached version when loading fails
Turn on the "Update on reload" setting in the Application > Service Workers
menu in the Chrome devtools.
ember install ember-service-worker-index-fallback
The configuration is done in the ember-cli-build.js
file:
var EmberApp = require('ember-cli/lib/broccoli/ember-app');
module.exports = function(defaults) {
var app = new EmberApp(defaults, {
'esw-index': {
// Where the location of your index file is at, defaults to `index.html`
location: 'app-shell.html',
// time in milliseconds that fetching index.html from network may take before the cached version is served
requestTimeoutCached: 500,
// time in milliseconds that fetching index.html from network may take when no cached version is available
requestTimeoutUncached: 60000
// Bypass esw-index and don't serve cached index file for matching URLs
excludeScope: [/\/non-ember-app(\/.*)?$/, /\/another-app(\/.*)?$/],
// Leave blank serve index file for all URLs, otherwise ONLY URLs which match
// this pattern will be served the cached index file so you will need to list
// every route in your app.
includeScope: [/\/dashboard(\/.*)?$/, /\/admin(\/.*)?$/],
// Changing this version number will bust the cache, but you probably do not
// want to be doing this manually, but rather using `versionStrategy` as
// explained here http://ember-service-worker.com/documentation/configuration/#versioning
version: '1'
}
});
return app.toTree();
};
This addon has been forked from DockYards ember service worker index
This library follows Semantic Versioning
This project is licensed under the MIT License.