37

GitHub - GoogleChromeLabs/carlo: Web rendering surface for Node applications

 5 years ago
source link: https://github.com/GoogleChromeLabs/carlo
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

Carlo

Contributing

Carlo provides your Node application with the rich rendering capabilities powered by the Google Chrome browser.

image

What can I do?

With Carlo, you can create hybrid applications that use Web stack for rendering and Node for capabilities:

  • For Node applications, you can visualize dynamic state of your Node app using web rendering stack
  • For Web applications, you can expose additional system capabilities accessible from Node
How does it work?
  • Carlo locates Google Chrome installed locally
  • Launches it and establishes connection to Chrome over the process pipe
  • Exposes high level API for rendering in Chrome in Node environment
  • Carlo is based on the Puppeteer project

Getting Started

Installation

To use Carlo in your project, run:

npm i carlo
# or "yarn add carlo"

Usage

Note: Carlo requires at least Node v7.6.0.

Example - Visualize local environment:

Save file as example.js

const carlo = require('carlo');

(async () => {
  const app = await carlo.launch();
  app.serveFolder(__dirname);
  await app.exposeFunction('env', _ => process.env);
  await app.load('example.html');
})();

Save file as example.html

<script>
async function run() {
  const data = await env();
  for (const type in data) {
    const div = document.createElement('div');
    div.textContent = `${type}: ${data[type]}`;
    document.body.appendChild(div);
  }
}
</script>
<body onload="run()">

Execute script on the command line

node example.js

Check out more examples with richer UI and RPC-based communication between the Web and Node componenets under the examples folder.

Contributing to Carlo

Check out contributing guide to get an overview of Puppeteer development.

FAQ


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK