首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第二章 你第首个Electron应用 | Electron in Action(中译)

一个没有加载HTML文档的空BrowserWindow 这是一扇窗口,并什么好看的。下一步是将HTML页面加载到我们创建的BrowserWindow实例中。...所有BrowserWindow实例都有一个web content属性,该属性具有几个有用的特性,比如将HTML文件加载到渲染器进程的窗口中、从主进程向渲染器进程发送消息、将页面打印为PDF或打印机等等。...我们将以下代码添加到app/main.js中,以告诉渲染器进程在我们之前创建的窗口中加载这个HTML文档。 列表2.6 将HTML文档加载到主窗口: ....我们可以使用Node的模块系统,而不需要额外的配置。让我们移除标签中的所有代码到-现在是空的-app/renderer.js文件中。...稍后,我们将讨论如何使用Sass而不是Electron。 在电子应用程序中添加样式表与在传统web应用程序中添加样式表没有多大不同。尽管如此,一些细微差别还是值得讨论的。

4.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    electron快速使用(二)

    将网页装载到 BrowserWindow在 Electron 中,每个窗口展示一个页面,后者可以来自本地的 HTML,也可以来自远程 URL。 在本例中,我们将会装载本地的文件。...在我们项目的根目录中创建一个 index.html 文件,并写入下面的内容: html>现在有了一个网页,可以将它装载到 Electron 的 BrowserWindow 上了。 将 main.js 中的内容替换成下列代码。 我们马上会逐行解释。...(createWindow)4.1 导入模块main.js (Line 1)const { app, BrowserWindow } = require('electron')在第一行中,我们使用 CommonJS...4.2 将可复用的函数写入实例化窗口createWindow() 函数将我们的页面加载到新的 BrowserWindow 实例中:main.js (Lines 3-10)const createWindow

    17330

    10分钟实现Typora(markdown)编辑器

    在本章中,我们将更深入地探讨,并为与用户操作系统建立更紧密联系的应用程序打下基础。在接下来的几章中,我们将实现触发操作系统用户界面,对文件系统进行读写和访问剪贴板的功能。...我们正在构建一个简单的Markdown编辑器,它允许我们创建新的或打开现有的Markdown文件,将它们转换为HTML,并将HTML保存到文件系统和剪贴板中。...在第一阶段,我们的应用程序将能够 打开并保存文件到文件系统 从这些文件获取Markdown内容 将Markdown内容呈现为HTML 将生成的HTML保存到文件系统中 将生成的...列表3.1 生成应用文件结构 mkdir app && touch app/index.html app/main.js app/renderer.js app/style.css 项目的各个部分是...--在文件末尾的标记中,我们需要渲染进程的代码,它位于同一个目录中的renderer.js中。 --> 29 30 require('.

    2.8K50

    第三章 构建Markdown应用程序 | Electron in Action(中译)

    在本章中,我们将更深入地探讨,并为与用户操作系统建立更紧密联系的应用程序打下基础。在接下来的几章中,我们将实现触发操作系统用户界面,对文件系统进行读写和访问剪贴板的功能。...我们正在构建一个简单的Markdown编辑器,它允许我们创建新的或打开现有的Markdown文件,将它们转换为HTML,并将HTML保存到文件系统和剪贴板中。...在第一阶段,我们的应用程序将能够 打开并保存文件到文件系统 从这些文件获取Markdown内容 将Markdown内容呈现为HTML 将生成的HTML保存到文件系统中 将生成的HTML写入剪贴板 在后面的章节中...图3.2 我们工程结构 [figure32.jpg] 列表3.1 生成应用文件结构 mkdir app && touch app/index.html app/main.js app/renderer.js...--在文件末尾的标记中,我们需要渲染进程的代码,它位于同一个目录中的renderer.js中。 --> require('.

    2.1K30

    (1 3)Electron知识学习 · 基础篇

    html> 添加程序主入口 首先我们需要在项目根目录添加main.js文件 然后添加如下内容 //获取依赖 //app:模块,它控制应用程序的事件生命周期 //BrowserWindow...:模块,它创建和管理应用程序 窗口 const { app, BrowserWindow } = require('electron') //创建窗体并指定第一个要显示的页面index.html const...文件 并添加如下内容 window和 document全局渲染器 process.versions是Node.js环境 preload.js //对window添加一个监听 window.addEventListener...把preload.js加载到Electron中 __dirname 字符串指向当前正在执行脚本的路径 (在本例中,它指向你的项目的根文件夹) path.join API 将多个路径联结在一起,创建一个跨平台的路径字符串...main.js //获取依赖 //app:模块,它控制应用程序的事件生命周期 //BrowserWindow:模块,它创建和管理应用程序 窗口 const { app, BrowserWindow }

    1.1K20

    Electron 介绍

    注意 因为 Electron 将 Node.js 嵌入到其二进制文件中,你应用运行时的 Node.js 版本与你系统中运行的 Node.js 版本无关。...执行期间,Electron 将依据应用中 package.json配置下main (opens new window)字段中配置的值查找此文件,您应该已在应用脚手架 (opens new window...在 Electron 中,每个窗口中无论是本地的HTML文件还是远程URL都可以被加载显示。 此教程中,您将采用本地HTML的方式。 在您的项目根目录下创建一个名为index.html的文件: <!...') 然后,添加一个createWindow()方法来将index.html加载进一个新的BrowserWindow实例。...process.versions 对象,并运行一个基本的 replaceText 辅助函数将版本号插入到 HTML 文档中。

    2.4K10

    第四章-使用本机文件对话框和帮助进程间沟通 | Electron实战

    在本章中,我们将添加触发本机文件对话框的功能,并从文件系统上的任何位置选择文本文件并将其加载到应用程序中。在这章的最后,渲染进程的浏览器窗口中的“打开文件”按钮将从主进程触发“打开文件”对话框。...图4.5显示了通过对话框打开图像文件而不是文本文件时的问题结果。 ? 图4.5 如果用户选择非文本文件,函数将记录二进制数据。...在macOS中,我们能够从窗口顶部从表格的形式显示对话框,而不是显示在窗口前面(清单4.6)。.../main.js'); 现在,我们可以在渲染器进程中调用从主进程导出getFileFromUser()函数。让我们替换事件监听器中的功能,以触发Open File对话框,而不是触发警报。...HTML文件加载到渲染器进程中。

    1.9K20

    react+electron使应用窗口相互独立

    在之前我们知道electron通过main.js这个文件里new一个BrowserWindow来新建一个窗口,同样的,这个应用的弹窗,也可以通过new一个BrowserWindow来新建: const...我们可以参照第一个窗口的做法用win.loadURL()来决定加载html文件。但是react项目打完包只有一个index.html啊,新的窗口应该从哪里加载html呢。接下来我们就来解决这一问题。...然后项目下会多出两个文件夹,config和scripts,我们开发中一般只需关心config文件下的webpack.config.js,paths.js,webpackDevServer.config.js...,从网上也是只搜到了解决方案而没有搜到原因,如果有前端小伙伴明白其中的原因,希望可以指点一二,不胜感激!...经过几天的更新,目前算是较为完整的实现了将一个基于react的web应用利用electron变成了一个桌面应用。

    1.8K10

    第五章-处理多窗口 | Electron实战

    我选择使用set而不是数组,因为这样更容易删除元素。这个清单显示了如何用JavaScript创建一个Set。 列表5.1 创建一个跟踪新窗口的集合: ....有了跟踪应用程序所有窗口的数据结构,下一步是将创建BrowserWindow(列表5.2)从应用程序的"ready"事件监听器移到它自己的函数中。...在清单5.4中,让我们重构getFileFromUser()函数,以接受一个给定的窗口作为一个参数,而不是总是假设范围中有一个mainWindow实例。...}; ---- 将对当前窗口的引用传递给主进程 从文件系统读取文件内容之后,我们将文件的路径和内容作为第一个参数传入并发送到窗口。...下面是app/renderer.js中文件的所有代码。 列表5.9 newFileButton在渲染器进程中的实现: .

    4.2K21

    Electron入门教程2 ——进程模型

    ✧ 为什么不是单个进程? Web浏览器是非常复杂的应用程序。除了显示网页内容的主要功能外,它们还有许多次要的职责,比如管理多个窗口(或标签)和加载第三方扩展。...主进程运行在Node.js环境中,这意味着它有能力要求模块并使用所有Node.js的api。 主进程的主要目的是使用BrowserWindow模块创建和管理应用程序窗口。...= require('path') // 创建一个createWindow()函数,用于将index.html加载到新BrowserWindow实例中 const createWindow = ()...预加载脚本可以在BrowserWindow构造函数的webPreferences选项中附加到主进程。...预加载脚本里的自己编写的接口,并把它通过script标签引到index.html页面中去: index.js console.log(window.myAPI) // => undefined index.html

    98150

    electron+vue全家桶开发包含(心得,遇见的坑,解决办法等)

    */ 创建主脚本文件 主脚本指定了您将运行主进程的 Electron 应用程序的入口点(通常情况下是 main.js 文件)【后续代码结构中会有示例说明】。...第 3 行:在此之后,您定义一个函数,该函数创建一个 新的浏览窗口 启用了节点集成,将index.html文件加载到此窗口中(第 12 行,稍后我们将讨论该文件),并打开开发人员工具(第 13 行)。...// 在main 文件夹下的 index.js 中 //引入 let ipcMain = require('electron').ipcMain; // 通过命令进行判断 //接收最小化命令 ipcMain.on...tbody下面也是只是渲染了几个tr空标签,而自己也是找了好久的问题 解决问题 打开/webpack.renderer.config.js文件搜索whiteListedModules //let...安装elementui npm install element-ui -s 然后在main.js文件中全局引入,打开 src/renderer/main.js: import Element from

    2.1K10

    1-Electron基础

    完成一个HelloWorld页面 首先创建html页面并编写相关内容 创建main.js或index.js作为主进程控制文件,编写整个应用进程的启动逻辑 初始化nodejs文件 启动electron服务...('closed' ,()=>{ mainWindow=null //将主窗口置空,达到关闭效果 }) }) Electron中的主进程与渲染进程 由于Electron基于Chromium...package.json中的main属性声明,一般为main.js或index.js,创建或销毁窗口等所有系统事件,都需要定义在主进程的控制文件中,统一由主进程管理。...每个渲染进程都是独立的,任意一个渲染进程报错或崩溃都不会影响其他渲染进程运行 主进程和渲染进程的区别 主进程通过BrowserWindow创建页面 每个BrowserWindow实例都在自己的渲染进程中运行..., 当BrowserWindow实例被销毁后, 相应的渲染进程也会被终止 Electron运行流程 读取package.json的中的入口文件,即main.js main.js在主进程中创建渲染进程 读取应用页面的布局和样式

    53820
    领券