首页 > 其他分享 >Electron 创建项目

Electron 创建项目

时间:2024-01-18 17:22:59浏览次数:25  
标签:const 项目 创建 app electron js BrowserWindow Electron

前言

项目 创建 electron 项目,参考官网的文档来,我也只是入门 哈哈哈

官网

https://electronjs.p2hp.com/docs/latest/tutorial/tutorial-first-app

1. 创建一个文件夹

electron-app

然后 cd electron-app 这个目录下

npm init

然后加上 

  "start": "electron .",

这句命令

 

2. 然后安装

npm install electron --save-dev

然后 发现安装不了 那么就是要用到 淘宝镜像了

搜索解决方案如下:

npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install electron --save-dev

使用cnpm 就可以安装了

 得到了这目录就OK了 

3. 创建文件

main.js 

// electron 模块可以用来控制应用的生命周期和创建原生浏览窗口
// const { app, BrowserWindow } = require('electron')
const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
const path = require('path')

const createWindow = () => {
  // 创建浏览窗口
  const mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      preload: path.join(__dirname, 'preload.js')
    }
  })

  // 加载 index.html
  mainWindow.loadFile('index.html')

  // 打开开发工具
  // mainWindow.webContents.openDevTools()
}

// 这段程序将会在 Electron 结束初始化
// 和创建浏览器窗口的时候调用
// 部分 API 在 ready 事件触发后才能使用。
app.whenReady().then(() => {
  createWindow()

  app.on('activate', () => {
    // 在 macOS 系统内, 如果没有已开启的应用窗口
    // 点击托盘图标时通常会重新创建一个新窗口
    if (BrowserWindow.getAllWindows().length === 0) createWindow()
  })
})

// 除了 macOS 外,当所有窗口都被关闭的时候退出程序。 因此, 通常
// 对应用程序和它们的菜单栏来说应该时刻保持激活状态, 
// 直到用户使用 Cmd + Q 明确退出
app.on('window-all-closed', () => {
    if (process.platform !== 'darwin') app.quit()
  })

index.html

 

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <!-- https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CSP -->
    <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'">
    <title>你好!</title>
  </head>
  <body>
    <h1>你好!</h1>
    我们正在使用 Node.js <span id="node-version"></span>,
    Chromium <span id="chrome-version"></span>,
    和 Electron <span id="electron-version"></span>.
  </body>
  <!-- <script src="./renderer.js"></script> -->
</html>

然后是新版的

preload .js
// 所有的 Node.js API接口 都可以在 preload 进程中被调用.
// 它拥有与Chrome扩展一样的沙盒。
window.addEventListener('DOMContentLoaded', () => {
    const replaceText = (selector, text) => {
      const element = document.getElementById(selector)
      if (element) element.innerText = text
    }
  
    for (const dependency of ['chrome', 'node', 'electron']) {
      replaceText(`${dependency}-version`, process.versions[dependency])
    }
  })

然后就可以再 运行

npm start

就可以看到这个界面了

 

OK  后续 Keeping

 

标签:const,项目,创建,app,electron,js,BrowserWindow,Electron
From: https://www.cnblogs.com/yf-html/p/17972960

相关文章

  • 运行新建Flutter项目, 报错Exception in thread “main“ java.net.ConnectException:
    新建项目后,直接使用demo进行安卓真机运行时报错Exceptioninthread"main"java.net.ConnectException:Connectiontimedout:connect atjava.base/sun.nio.ch.Net.connect0(NativeMethod) atjava.base/sun.nio.ch.Net.connect(Net.java:579) atjava.base/sun.nio.ch.N......
  • idea 项目编译内存溢出解决配置
    https://blog.csdn.net/malin970824/article/details/89843478 以下几种方式都可尝试下:1.在idea安装的bin目录修改配置文件 -Xms512m-Xmx2024m-Xss4M-XX:MaxPermSize=2024m 2.修改settings 3.修改tomcat-server-Xms512m-Xmx2024m-Xss4M-XX:PermSize=512M-XX:......
  • npm ERR! code ENOENT npm ERR! syscall open npm ERR! path C:\Users\shuzi\Des
    打开一个新的项目,因为当前项目文件夹下没有npm,"dev":"npmrunstart:dev",所以所以没有展示对应的运行图,如下图: 打开一个新的前端项目,执行npminstall,报错如图:WindowsPowerShell版权所有(C)MicrosoftCorporation。保留所有权利。安装最新的PowerShell,了解新功能和改进......
  • 一、nextjs如何使项目工程化(c-shopping电商开源)
    欢迎来到本系列文章,这些内容都是从我的开源项目C-Shopping衍生而来的。在这个系列中,我们将深入探讨Next.js和其他技术的各个方面,分享我在开发C-Shopping时积累的见解和最佳实践。如果你发现这些文章有帮助,请考虑在GitHub上为项目点亮一颗星星。你的支持对我来说意义重大,也......
  • 将.NET Core项目部署到Azure App Service
    步骤1:创建ASP.NETCoreWeb应用首先,确保你已经安装了.NETCoreSDK。dotnetnewwebapp-nAzureSampleAppcdAzureSampleApp这将创建一个新的ASP.NETCoreWeb应用,并将目录更改为新创建的应用目录。步骤2:一个简单的首页编辑Pages/Index.cshtml文件,添加一些内容来展......
  • 应届生必读:Java真实项目的开发流程和常用工具
    本文出自本人写的书,谢绝转载,更勿抄袭。本人有多年的Java面试官经验,经常要和一些包装项目经验的求职者打交道。当然平时也兼职做些Java面试辅导工作,最近也陆续帮一些在校生朋友成功找到Java工作。在辅导在校生朋友找工作的过程中,本人发现,其实真有不少朋友,是跟着视频跑通了一个或......
  • mac m1 golang 运行go项目没法dbg解决
    1.首先终端看 uname-m如果是显示armd的话就是m12.go版本需要安装arm64版本(macm1) 3.golang编辑器也要安装m1版本的 4.dbg成功 ......
  • python创建httpserver,并处理get、post请求
    搭建一个简单的httpserver,用于测试数据通讯fromhttp.serverimportHTTPServer,BaseHTTPRequestHandlerimportjsondata={'result':'thisisatest'}host=('localhost',8888)classResquest(BaseHTTPRequestHandler):  defdo_GET(self):   ......
  • 解决虚拟机环境下使用Ubuntu自带的图形化工具创建的磁盘分区无法扩容的问题
    解决虚拟机环境下使用Ubuntu自带的图形化工具创建的磁盘分区无法扩容的问题先来个结论:不要使用Ubuntu自带的图形化磁盘工具创建分区,磁盘分区操作请使用fdisk等工具。正文太长不想看的记住这个结论就行,有兴趣的接着看。首先介绍一下磁盘的基本配置,vmware中创建了两块磁盘,一......
  • 不创建临时变量求字符串长度--初识递归
    递归:一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法。递归的例题应用:不创建临时变量求字符串长度。intmy_strlen(char*str){ if(*str!='\0') { return1+my_strlen(str+1); } else return0;}intmain(){ chararr[]="bi......