创建运行项目

Electron 官方提供了一个简单的项目,可以执行以下命令将项目克隆到本地。

git clone https://github.com/electron/electron-quick-start

然后在项目中执行如下命令即可启动项目。

cd electron-quick-start

npm install

npm start

启动后项目的效果如下图。

图片

除此之外,我们可以使用 vue-cli 脚手架工具来创建项目。

vue init simulatedgreg/electron-vue

然后根据下面的提示一步步选中选项即可创建项目,如下所示。

图片

然后,使用 npm install 命令安装项目所需要的依赖包,安装完成之后,可以使用 npm run dev 或 npm run build 命令运行 electron-vue 模版应用程序,运行效果如下图所示。

Electron 源码目录

Electron 的源代码主要依据 Chromium 的拆分约定被拆成了许多部分。为了更好地理解源代码,您可能需要了解一下 Chromium 的多进程架构。

Electron 源码目录结构和含义具体如下:

Electron

├──atom - Electron 的源代码

| ├── app - 系统入口代码

| ├── browser - 包含了主窗口、UI 和其他所有与主进程有关的东西,它会告诉渲染进程如何管理页面

| | ├── lib - 主进程初始化代码中 JavaScript 部分的代码

| | ├── ui - 不同平台上 UI 部分的实现

| | | ├── cocoa - Cocoa 部分的源代码

| | | ├── gtk - GTK+ 部分的源代码

| | | └── win - Windows GUI 部分的源代码

| | ├── default_app - 在没有指定 app 的情况下 Electron 启动时默认显示的页面

| | ├── api - 主进程 API 的实现

| | | └── lib - API 实现中 Javascript 部分的代码

| | ├── net - 网络相关的代码

| | ├── mac - 与 Mac 有关的 Objective-C 代码

| | └── resources - 图标,平台相关的文件等

| ├── renderer - 运行在渲染进程中的代码

| | ├── lib - 渲染进程初始化代码中 JavaScript 部分的代码

| | └── api - 渲染进程 API 的实现

| | └── lib - API 实现中 Javascript 部分的代码

| └── common - 同时被主进程和渲染进程用到的代码,包括了一些用来将 node 的事件循环

| | 整合到 Chromium 的事件循环中时用到的工具函数和代码

| ├── lib - 同时被主进程和渲染进程使用到的 Javascript 初始化代码

| └── api - 同时被主进程和渲染进程使用到的 API 的实现以及 Electron 内置模块的基础设施

| └── lib - API 实现中 Javascript 部分的代码

├── chromium_src - 从 Chromium 项目中拷贝来的代码

├── docs - 英语版本的文档

├── docs-translations - 各种语言版本的文档翻译

├── spec - 自动化测试

├── atom.gyp - Electron 的构建规则

└── common.gypi - 为诸如 nodebreakpad 等其他组件准备的编译设置和构建规则

平时开发时,需要重点关注的就是 src、package.json 和 appveyor.yml 目录。除此之外,其他需要注意的目录如下:

  • script - 用于诸如构建、打包、测试等开发用途的脚本

  • tools - 在 gyp 文件中用到的工具脚本,但与 script 目录不同, 该目录中的脚本不应该被用户直接调用

  • vendor - 第三方依赖项的源代码,为了防止人们将它与 Chromium 源码中的同名目录相混淆, 在这里我们不使用 third_party 作为目录名

  • node_modules - 在构建中用到的第三方 node 模块

  • out - ninja 的临时输出目录

  • dist - 由脚本 script/create-dist.py 创建的临时发布目录

  • external_binaries - 下载的不支持通过 gyp 构建的预编译第三方框架

应用工程目录

使用 electron-vue 模版创建的 Electron 工程结构如下图。

图片

和前端工程的项目结构类似,Electron 项目的目录结构如下所示:

  • electron-vue:Electron模版配置。

  • build:文件夹,用来存放项目构建脚本。

  • config:中存放项目的一些基本配置信息,最常用的就是端口转发。

  • node_modules:这个目录存放的是项目的所有依赖,即 npm install 命令下载下来的文件。

  • src:这个目录下存放项目的源码,即开发者写的代码放在这里。

  • static:用来存放静态资源。

  • index.html:则是项目的首页、入口页,也是整个项目唯一的HTML页面。

  • package.json:中定义了项目的所有依赖,包括开发时依赖和发布时依赖。

对于开发者来说, 90% 的工作都是在 src 中完成,src 中的文件目录如下。

图片

Electron 应用程序分成三个基础模块:主进程、进程间通信和渲染进程。

【主进程】

Electron 运行 package.json 的 main 脚本(background.js)的进程被称为主进程。在主进程中运行的脚本通过创建web页面来展示用户界面。一个 Electron 应用总是有且只有一个主进程。

【渲染进程】

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

文章到这里就结束了,如果觉得对你有帮助可以点个赞哦,如果有需要前端校招面试题PDF完整版的朋友可以点击这里即可免费获取,包括答案解析。

厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

[外链图片转存中…(img-AWEYDtaA-1713557182891)]

最后

文章到这里就结束了,如果觉得对你有帮助可以点个赞哦,如果有需要前端校招面试题PDF完整版的朋友可以点击这里即可免费获取,包括答案解析。

[外链图片转存中…(img-5N0p0Emg-1713557182891)]

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐