The documentation below is derived from https://github.com/PolymerElements/polymer-starter-kit
Cheruku app uses the PRPL pattern, PRPL in a nutshell (https://github.com/PolymerElements/polymer-starter-kit):
- Push components required for the initial route
- Render initial route ASAP
- Pre-cache components for remaining routes
- Lazy-load and progressively upgrade next routes on-demand
Install Polymer CLI using npm (we assume you have pre-installed node.js).
npm install -g bower polymer-cli@next
git clone [email protected]:cherukumilli/pwastore.git
npm install && bower install
This command serves the app at http://localhost:8080
and provides basic URL
routing for the app:
polymer serve --open
This command performs HTML, CSS, and JS minification on the application
dependencies, and generates a service-worker.js file with code to pre-cache the
dependencies based on the entrypoint and fragments specified in polymer.json
.
The minified files are output to the build/unbundled
folder, and are suitable
for serving from a HTTP/2+Push compatible server.
In addition the command also creates a fallback build/bundled
folder,
generated using fragment bundling, suitable for serving from non
H2/push-compatible servers or to clients that do not support H2/Push.
polymer build
This command serves the minified version of the app at http://localhost:8080
in an unbundled state, as it would be served by a push-compatible server:
polymer serve build/unbundled
This command serves the minified version of the app at http://localhost:8080
generated using fragment bundling:
polymer serve build/bundled
This command will run Web Component Tester against the browsers currently installed on your machine:
polymer test
You can extend the app by adding more views that will be demand-loaded
e.g. based on the route, or to progressively render non-critical sections of the
application. Each new demand-loaded fragment should be added to the list of
fragments
in the included polymer.json
file. This will ensure those
components and their dependencies are added to the list of pre-cached components
and will be included in the bundled
build.