Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发 经验。
npm:
- mkdir my-electron-app && cd my-electron-app
- npm init
yarn:
- mkdir my-electron-app && cd my-electron-app
- yarn init
- npm install --save-dev electron
- yarn add --dev electron
在使用npm安装依赖时出现了报错,重新用npm安装依旧报错,后面换成yarn命令安装依赖成功。所以搜索了一下它两点区别、优缺点学习复习一下:
- 1.性能:Yarn在安装依赖时比npm更快,因为它使用了并行下载的方式,而npm是串行下载。
- 2.安全性:Yarn在安装依赖时会进行校验,确保下载的包没有被篡改。而npm则没有这个功能。
- 3.离线模式:Yarn支持离线模式,可以使用之前缓存的依赖进行安装。而npm需要联网才能安装依赖。
- 4.锁定机制:Yarn使用yarn.lock文件来锁定每个包的版本号,确保团队成员之间使用相同的依赖版本。而npm使用package-lock.json文件来实现类似的功能。
- npm和yarn都有庞大的包生态系统,可以方便地找到和安装各种开源库。
- npm和yarn都支持自动解决依赖关系,并且可以通过命令行轻松地更新和删除包。
- npm和yarn都支持脚本命令,在项目中可以方便地运行自定义脚本。
- npm在性能方面稍逊于yarn,在处理大型项目时可能会较慢。
- yarn在某些情况下可能会导致一些依赖冲突,需要手动解决。
npm和yarn都是强大的包管理工具,选择使用哪个取决于项目需求和个人偏好。如果项目需要更快的安装速度和更好的安全性,可以选择yarn。如果项目对性能要求不高或者已经习惯使用npm,可以继续使用npm。
"scripts": { "start": "electron ." }
运行:
- yarn start (后面就尽量不用npm命令安装依赖)
如果马上使用yarn start 运行则会出现报错,没有找到main.js文件。
1.使用CommonJs require导入app,BrowserWindow模块,使用creat Window方法 创建一个宽800、高600的浏览器窗口,将index.html插入改窗口(index.html的内容写个hello world,顺便写的东西进去)
监听 app 模块的 'window-all-closed' 事件。如果用户不是在 macOS(darwin) 上运行程序,则调用 app.quit() 在main.js加入以下代码: app.on('window-all-closed', () => { if (process.platform !== 'darwin') app.quit() })
因为窗口无法在 ready 事件前创建,需要中whenReady()回调中调用 app.whenReady().then(() => { createWindow()
app.on('activate', () => { if (BrowserWindow.getAllWindows().length === 0) createWindow() }) })
在main.js文件中加入代码:
这里使用了两个Node.js概念:
- __dirname 字符串指向当前正在执行脚本的路径 (在本例中,它指向你的项目的根文件夹)。
- path.join API 将多个路径联结在一起,创建一个跨平台的路径字符串。