porter-client

A contract for a new form of communication between front and backend tech.

Usage no npm install needed!

<script type="module">
  import porterClient from 'https://cdn.skypack.dev/porter-client';
</script>

README

Porter

Render HTML on the server and push it directly to a frontend element.

Installation

Install with npm

npm install --save porter-client

Install with bower

bower install --save porter

Usage

<html>
  <head>
    <title>It's Porter TIME!!!</title>
  </head>
  <body>
    <div id='main'>
      ..Main..
    </div>

    <script src="/js/porter.js"></script>
    <script src="/js/hook.js"></script>
    <script src="/js/connectors/ws_connector.js"></script>

    <script>
      var connector = new WsConnector("ws://localhost:8080/websocket")
      var hook = new Hook("main");
      var porter = new Porter(connector);
      porter.whitelist.add_rpc("hook.render", function(args) {
        hook.render(args);
      });

      porter.connect();
    </script>
  </body>
</html>

TODOS:

  • Make connectors optional and named.
  • Give connectors a kind array property.
  • Abstract Consumer.
  • Abstract Producer.