Google 推出 Node 应用 Web 渲染界面 Carlo
|
在方才宣布的 2018 JavaScript 近况观测陈诉中,也许有人留意到内里提到了一个新的 Headful Node 应用框架 —— Carlo 。Carlo 是 Google Labs 克日推出的一个开源项目,官方将其描写为 “ Node 应用 Web 渲染界面”。 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 【编辑保举】
点赞 0 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


