mbi*_*ras 2 javascript chromium node.js browserify electron
在博客文章中,作者提到Electron将Node和Chromium组合成一个"单一上下文",这意味着我们不必使用Browserify来转换代码.
我理解Electron的一个含义是您可以使用Web技术构建跨平台桌面应用程序.我也理解为什么我们能够写入文件系统的原因是因为Electron已经将Node编入其中.而且,我们能够使用HTML/CSS/JS/DevTools的原因是因为Chromium被烘焙了.但是,我不要以为这是作者所说的.
小智 6
因此,在正常情况下,Node.js 和 Web 浏览器是两个独立的上下文,这就是为什么人们通常必须使用 Browserify 来“编译”Node.js 代码以便与 Web 浏览器一起使用。
PHP 脚本也是如此,需要 Web 服务器进行某种处理程序才能在 Web 浏览器中正确执行。与 HTML 和 CSS 甚至 JavaScript 相比,无需任何进一步干预即可在 Web 浏览器中执行,因为 Web 浏览器已经包含解析 HTML 以及解释和运行 JS 所需的所有工具。
对于 Electron,它与现代 Web 浏览器执行 JavaScript 的方式有点相同。通过 Electron,Chromium 已被修改为能够执行 Node.js。Electron是Browserify,Electron 是允许 Node.js 和 Chromium 一起工作而无需任何进一步修改或干预的容器。
因此,说 Node 和 Chromium 已合并为一个上下文,这意味着 Node 和 Chomium 能够像一体一样工作和交互,而不需要任何其他工具或步骤来“链接”两者一起。
Chromium是一个基于Webkit的Web浏览器,带有V8 javascript引擎.它支持所有常用的浏览器和DOM API,因此适用于制作网页而不擅长与底层系统交互.
Node.js是通过去除V8引擎,构建无头命令行应用程序,添加大量API来访问文件系统,require()其他文件,运行其他shell程序等来构建的.(您期望使用真正的脚本语言) .
电子以简化的方式试图用新的更通用的Node.js替换Chromium中使用的V8引擎.它向node.js公开了一些额外的API以允许打开铬窗口,但是使用<script>
标签的每个铬窗口都会使用node.js引擎对其进行解释.
为何选择电子?Chromium本身不能做到这一点的原因是因为它最初设计为Web浏览器,而在Web浏览器中,文件系统API是闻所未闻的,因为通常文件托管在远程服务器上并访问用户计算机上的文件存在安全风险(因为为什么任何一个网页都可以访问您的所有文件?).
require 语句现在开箱即用,因为node.js具有文件系统支持,允许从磁盘同步读取它们,而无需将它们捆绑到同一个javascript文件中或从服务器请求它们.
| 归档时间: |
|
| 查看次数: |
1424 次 |
| 最近记录: |