Electron 加密:错误处理及代码优化
Webpack Target
在上一节内容中,如果细心观察 webpack 配置文件,会发现都有设置 target: 'electron-xxx'。它到底是什么含义呢,其实这部分内容我们可以在 webpack target[1] 文档找到相关描述(根据 Electron 的版本号替换 [X.Y])。
electron[X.Y]-main: 用于编译主进程代码,提供完整的 Node.js 环境。electron[X.Y]-renderer: 用于编译渲染进程代码,提供模拟浏览器环境的目标。通过使用 JsonpTemplatePlugin、FunctionModulePlugin 来为浏览器环境提供支持,同时使用 NodeTargetPlugin 和 ExternalsPlugin 来为 CommonJS 和 Electron 内置模块提供支持。electron[X.Y]-preload: 用于编译渲染进程的预加载脚本,这个目标可以同时适配浏览器和 Node.js 环境。但与 electron[[X].Y]-renderer 相比,它通过使用 NodeTemplatePlugin 且设置 asyncChunkLoading 为 true 来使异步模块加载更高效。也使用 FunctionModulePlugin 为浏览器环境提供支持,使用 NodeTargetPlugin 和 ExternalsPlugin 为 CommonJS 和 Electron 内置模块提供支持。
它们主要区别在于: