微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

carlo

编程之家收集整理的这个编程导航主要介绍了carlo编程之家,现在分享给大家,也给大家做个参考。

carlo 介绍

Carlo 为 Node 应用提供 Chrome 渲染功能,使用 Puppeteer 项目与本地安装的浏览器实例进行通信,并实现远程调用基础架构,以便在 Node 和 Chrome 之间进行通信。

不同于 Electron 和 NW.js ,Carlo 并不会尝试将特定版本的 Chrome 和 Node.js 打包在一起,而是依赖于用户电脑上已安装的任意版本的 Chrome ,该项目的动机之一是演示本地安装的浏览器如何与开箱即用的 Node 一起使用。此外,Carlo 会分离 Node v8 和 Chrome v8 引擎,提供可维护的 model ,能够独立更新底层组件。

Carlo 并不提供构建真正桌面应用的功能,像是修改应用图标或自定义菜单,Carlo 更专注于生产力和 Web/Node 的互操作性。不过,你也可以使用 pkg 将 Carlo 应用打包到可执行二进制文件中。

示例 - 显示本地环境

Save file as example.js

const carlo = require('carlo');

(async () => {

// Launch the browser.

const app = await carlo.launch();

// Terminate Node.js process on app window closing.

app.on('exit',() => process.exit());

// Tell carlo where your web files are located.

app.serveFolder(__dirname);

// Expose 'env' function in the web environment.

await app.exposeFunction('env',_ => process.env);

// Navigate to the main page of your app.

await app.load('example.html');

})();

Save file as example.html

<script>

async function run() {

// Call the function that was exposed in Node.

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()">

运行应用

node example.js

GitHub:https://github.com/GoogleChromeLabs/carlo

网站描述:为Node程序提供了由Google Chrome浏览器提供支持的丰富渲染功能

carlo

官方网站:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。