Electron使用前端技术写桌面程序实验

建立一个目录test1

使用vscode编程。

main.js

const {app, BrowserWindow} = require('electron')
const path = require('path')
const url = require('url')
const ipc = require('electron').ipcMain
//声明我们的greeting窗体变量
let greetingWin;
let newwin;
//当app完成初始化时,执行窗体的创建。
app.on('ready', createGreetingWindow)

function createGreetingWindow(){
    //构建一个高600,宽800的窗体,可以认为,一个窗体是一个浏览器的tab选项卡。
    greetingWin = new BrowserWindow({width: 800, height: 600})
    //窗体中显示的内容是index.html文件中的内容,将按照google浏览器的渲染方式,渲染显示。
    //__dirname,表示main.js所在的目录路径
    greetingWin.loadURL(__dirname + "/index.html")
    //监听窗体关闭事件,当窗体已经关闭时,将win赋值为null,垃圾回收。
    greetingWin.on('closed', () => {
       win = null
    }) 
} 

ipc.on('add',()=>
{
    newwin = new BrowserWindow({
        width: 600, 
        height: 400,
        frame:false,
        parent: greetingWin, //win是主窗口
    })
    //newwin.loadURL(path.join('file:',__dirname,'nav1.html')); //new.html是新开窗口的渲染进程
    newwin.loadURL(__dirname +"/nav1.html"); //new.html是新开窗口的渲染进程
    newwin.on('closed',()=>{newwin = null})

})


index.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Hello Electron!</title>
  </head>
  <body>
    <h1>Hello Electron!</h1> 
    <button id = "add">新建窗口</button><br/>
    <script>
    const add = document.querySelector("#add")
    const ipc = require('electron').ipcRenderer
    add.onclick = ()=>
    {
           ipc.send('add');
    }
    </script>
  
  </body>
</html>

在test1目录下,运行npm init -f ,生成package.json文件。在script字段下,增加package内容。

如下图,这样,就可以通过npm run-script package 或者npm run-script test 实现运行功能。npm run-script package进行打包程序为win64平台的exe文件。

{
  "name": "test1",
  "version": "1.0.0",
  "description": "",
  "main": "main.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "package": "electron-packager . test1 --platform=win32 --arch=x64  --out=./app2 --electron-version=4.0.1  --overwrite "
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
 
}

打包成exe文件后,是这样的,整个目录大约150M,把目录直接拷贝到别的机器就能直接运行,无需另外安装别的东西。

注意:在windows开发平台下,也可以进行linux平台的打包工作。打包过程,会自动下载linux下的electron安装包。

配置vscode的调试文件launch.json,实现vscode调试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Electron是一个允许使用Web技术(HTML,CSS,JavaScript)构建跨平台桌面应用程序的框架。下面是一个简单的Electron桌面应用程序的示例: 1. 安装Node.js和npm 在开始之前,需要先安装Node.js和npm。如果您已经安装了,请跳过此步骤。 2. 初始化项目 使用npm初始化一个新的Electron项目: ``` npm init ``` 3. 安装Electron 安装Electron: ``` npm install electron --save-dev ``` 4. 创建主进程文件 在项目根目录下创建一个名为main.js的文件,它将作为应用程序的主进程。以下是一个简单的示例代码: ``` const { app, BrowserWindow } = require('electron') function createWindow () { const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true } }) win.loadFile('index.html') } app.whenReady().then(() => { createWindow() app.on('activate', () => { if (BrowserWindow.getAllWindows().length === 0) { createWindow() } }) }) app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit() } }) ``` 5. 创建渲染进程文件 在项目根目录下创建一个名为index.html的文件,它将作为应用程序的渲染进程。以下是一个简单的示例代码: ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Hello World!</title> </head> <body> <h1>Hello World!</h1> </body> </html> ``` 6. 运行应用程序 运行应用程序: ``` npm start ``` 这将启动Electron应用程序。您将看到一个窗口,其中包含一个标题为“Hello World!”的文本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值