跳到主要内容

在 Electron 中使用 V8 和 Chromium 特性

·阅读时长 2 分钟

构建一个 Electron 应用意味着你只需要创建一个代码库并为一个浏览器进行设计,这非常方便。但由于 Electron 会随着 Node.jsChromium 的发布而保持更新,你也可以利用它们附带的强大特性。在某些情况下,这可以消除你以前可能需要在 Web 应用中包含的依赖项。


特性很多,这里我们将介绍一些作为示例,但如果你有兴趣了解所有特性,可以关注 Google Chromium 博客Node.js 更新日志。你可以在 electronjs.org/#electron-versions 查看 Electron 使用的 Node.js、Chromium 和 V8 版本。

通过 V8 支持 ES6

Electron 结合了 Chromium 的渲染库和 Node.js。两者共享相同的 JavaScript 引擎,即 V8。许多 ECMAScript 2015 (ES6) 特性已经内置在 V8 中,这意味着你可以在 Electron 应用中直接使用它们,而无需任何编译器。

下面是一些示例,你还可以获得类(在严格模式下)、块级作用域、Promises、类型化数组等等。查看 此列表 以获取有关 V8 中 ES6 特性的更多信息。

箭头函数 (Arrow Functions)

findTime () => {
console.log(new Date())
}

字符串插值 (String Interpolation)

var octocat = 'Mona Lisa';
console.log(`The octocat's name is ${octocat}`);

New Target

Octocat() => {
if (!new.target) throw "Not new";
console.log("New Octocat");
}

// Throws
Octocat();
// Logs
new Octocat();

数组 includes (Array Includes)

// Returns true
[1, 2].includes(2);

剩余参数 (Rest Parameters)

// Represent indefinite number of arguments as an array
(o, c, ...args) => {
console.log(args.length);
};

Chromium 特性

得益于 Google 和贡献者为 Chromium 付出的辛勤工作,当你构建 Electron 应用时,你也可以使用一些很酷的东西,例如(但不限于)

关注 Google Chromium 博客,了解新版本发布的特性,同样,你可以在此处查看 Electron 使用的 Chromium 版本。

你对什么感到兴奋?

通过 @ElectronJS 向我们发送推文,分享你在 V8 或 Chromium 中内置的最喜欢的特性。