Electron桌面应用框架的使用,结合react项目

参考文章:https://blog.csdn.net/qq_25881261/article/details/81559794

https://blog.csdn.net/easyClub_hanjixin/article/details/81178627

1.打开react项目,安装npm i electron --S

2.在react项目根目录创建main.js(与package.json同级)

const { app, BrowserWindow } = require(‘electron‘)

const url = require(‘url‘)

const path = require(‘path‘)
let win
function createWindow() {
    // 创建浏览器窗口。
    win = new BrowserWindow({ width: 800, height: 600 })

// 加载应用----react 打包  生产环境
    win.loadURL(url.format({
        pathname: path.join(__dirname, ‘./build/index.html‘),
        protocol: ‘file:‘,
        slashes: true
    }))
    // 然后加载应用的 index.html。  url 及本地文件形式
    // win.loadURL(‘http://localhost:3000‘) // 开发环境
    // win.loadFile(‘public/index.html‘)
    //如果想要让electron加载本地打包好的React文件的build文件下的内容是这样子的:(这个问题困扰我很久,解决了。分享下2019-4-29添加)
    // win.loadURL(`file://${path.join(__dirname, ‘../build/index.html‘)}`)

    // 打开开发者工具
    win.webContents.openDevTools()

    // 当 window 被关闭,这个事件会被触发。
    win.on(‘closed‘, () => {
        // 取消引用 window 对象,如果你的应用支持多窗口的话,
        // 通常会把多个 window 对象存放在一个数组里面,
        // 与此同时,你应该删除相应的元素。
        win = null
    })
}

// Electron 会在初始化后并准备
// 创建浏览器窗口时,调用这个函数。
// 部分 API 在 ready 事件触发后才能使用。
app.on(‘ready‘, createWindow)

// 当全部窗口关闭时退出。
app.on(‘window-all-closed‘, () => {
    // 在 macOS 上,除非用户用 Cmd + Q 确定地退出,
    // 否则绝大部分应用及其菜单栏会保持激活。
    if (process.platform !== ‘darwin‘) {
        app.quit()
    }
})

app.on(‘activate‘, () => {
    // 在macOS上,当单击dock图标并且没有其他窗口打开时,
    // 通常在应用程序中重新创建一个窗口。
    if (win === null) {
        createWindow()
    }
})

// 在这个文件中,你可以续写应用剩下主进程代码。
// 也可以拆分成几个文件,然后用 require 导入。

3.在package.json中添加

"scripts": {
  "electron-start": "electron .",}

"main": "main.js",
"homepage":".",

4.启动Electron

npm start  :启动react项目
npm run electron-start:启动electron 


 


原文地址:https://www.cnblogs.com/lude1994/p/11985725.html

时间: 2024-10-03 04:48:17

Electron桌面应用框架的使用,结合react项目的相关文章

electron原来这么简单----打包你的react、VUE桌面应用程序

也许你不甘心只写网页,被人叫做"他会写网页",也许你有项目需求,必须写桌面应用,然而你只会前端,没关系.网上的教程很多,但是很少有能说的浅显易懂的,我尽力将electron打包应用说的清晰明了,希望能你在写自己的应用的时候,感到心中有数.话不多说,进入正题: 一.安装electron 为了方便你以后的使用,建议全局安装.以后在任何文件夹都能使用electron.怎么安装就不废话了,不会的去官网,安装好electron之后也安装一个专用的打包工具electron-packager,以方便

Web桌面应用框架2:著名的WEB桌面应用分析

前一篇文章里,分析了包括NW.js和electron这种纯JS框架在内的几种Web桌面应用开发方式,实际上还有一种最古老的方式,那就是嵌入WebView的方式. 嵌入WebView的方式和整个程序都是WEB窗口不同,仅在窗口的部分子窗口使用WebView,和原生UI或DirectUI结合的方式. 这种在C/C++程序里嵌入WebView的方式,由于没有一种公认.通用的框架或方法,基本是最困难和最原始的方式蛮干,或者自研平台,难以公开.但是也有很多效果很棒,很著名的软件.那么下面我们来细数一下这些

学习React前端框架,报错 'React' must be in scope when using JSX react/react-in-jsx-scope

问题 import react from 'react'  改成  import React from 'react'   小写 react  改成 React 学习React前端框架,报错 'React' must be in scope when using JSX react/react-in-jsx-scope 原文地址:https://www.cnblogs.com/BensonHai/p/9952156.html

electron教程(四): 使用electron-builder或electron-packager将项目打包为可执行桌面程序(.exe)

我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(二): http服务器, ws服务器, 子进程管理 electron教程(三): 使用ffi-napi引入C++的dll electron教程(四): 使用electron-builder或electron-packager将项目打包为可执行桌面程序(.exe) ? 引言 本篇将介绍如何将你开发的electron项目(main.js), 打包成一个可执行桌面程序(.exe). 有

【react自制全家桶】一、Webstrom+React+Ant Design+echarts搭建react项目

前言 一.React是Facebook推出的一个前端框架,之前被用于著名的社交媒体Instagram中,后来由于取得了不错的反响,于是Facebook决定将其开源.出身名门的React也不负众望,成功成为当前最火热的三大前端框架之一.相比于Angular,React更加轻量.而相对于另一个轻量级前端框架Vue来说,React虽然学习和使用起来难度稍微大一些,但是React的社区相对来说人气更旺,而且在移动端的开发上面,大名鼎鼎的React Native更是尽显优势,在代码性能上要好过Vue框架.

React项目 - 几种CSS实践

前言团队在使用react时,不断探索,使用了很多不同的css实现方式,此篇blog总结了,react项目中常见的几种css解决方案:inline-style/radium/style-component,只列举了团队项目中用过的一下实现方式,还有其他的不过多展开 css的不足样式与状态相关的情况越来越多,需要动态.能直接访问组件state的css.一切样式都是全局,产生的各种命名的痛苦,BEM等命名规则能解决一部分问题,但当你使用三方插件时却无法避免命名冲突. Vue怎么解决 scoped 属性

个人搭建的React项目之React音乐播放器

该项目是本人自使用react框架以来制作的较大的项目,目前该项目放在github上,感兴趣的朋友可以去看看一下,觉得还行的话可以给个star,哈哈 地址:https://github.com/cocoxiaoyue/react-music-player 项目环境 运行 1.该项目是基于node环境,通过create-react-app搭建的react项目,所以该项目应在装有node的机器上运行. 2.该项目运用的是网易云音乐接口,所以应该下载网易云音乐接口项目https://github.com

React项目

React项目搭建与部署 一,介绍与需求 1.1,介绍 1.1.1,React简介 React 是一个用于构建用户界面的 JAVASCRIPT 库. React主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图). React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源. React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它. 1.1.2,React特点 声明式设计:React采用声明范式,

webpack搭建react项目

遥看套路挖掘机,不见当年老司机.this is a boilerplate 1.新建一个项目目录文件夹,暂且叫seed cd seed npm init 然后一直回车,最后yes,最终生成一个package.json文件 2.新建以下 src  文件夹用于存放js,css,img等源码和引用的静态文件 .babelrc babel编译器配置文件 favicon.ico   浏览器默认读取的一个icon index.html  入口首页 webpack.config.js  webpack配置文件