EasyPWA
EasyPWA allows you to create a PWA easily. Like all you have to do is add:
var pwa = window.PWAinit();
window.easyPWA.inject(pwa, "/sw.js");
and copy the file from easypwa/sw.js to the folder your server is running and you have a PWA. Granted it has the default branding, but you can change those values. For example, to change the name, just modify the "name" and "short_name" attributes:
var pwa = window.easyPWA.init();
pwa.name = "Hello World";
pwa.short_name = "Hello World";
window.easyPWA.inject(pwa, "/sw.js");
To see all of the options you can configure, please see the MDN docs on Web app manifests
Upgrading from v1 to v2:
There is some API/code changes in v2 and higher to make it easier on devs making an application using this and fix some issues on a few browsers. So, the code is a lot more stable on v2+
Installation:
npm install easypwa
Requiring the module:
<script src="/path/to/easypwa.js"></script>
API:
init()
: Returns a JSON object with a sample manifest object. Normally used to initialize the PWA.
Usage:
window.easyPWA.init();
Example:
var pwa = window.easyPWA.init();
icon(url, size, ext)
: Used to generate JSON objects for the "icons" field for the manifest. url
is the URL of the icon, size
is the size (widthxheigh).
Usage:
window.easyPWA.icon(
"url",
"widthxheight",
"png" // or file extention
) // {src: "url", sizes: "widthxheight", type: "image/png"}
Example:
pwa.icons = [
window.easyPWA.icon(
"https://cdn.glitch.com/70c8cfd0-7862-4692-9b6c-db66f49269bf%2Fandroid-chrome-192x192.png?v=1606418327912",
"192x192",
"png"
)
];
inject()
: This is the function that injects/registers the scripts to make the PWA auctally work.
Usage:
window.easyPWA.inject(pwaObject, "/path/to/service-worker.js");
Example:
var pwa = window.easyPWA.init();
window.easyPWA.inject(pwa, "/sw.js");
Example:
The example is located in index.html