赞
踩
环境:
electron: v30.1.1 (2024-06-13)
nodejs: v20.12.2
mkdir my-electron-app && cd my-electron-app
npm init
npm install -g cnpm --registry=https://registry.npmmirror.com
cnpm install electron --save-dev
const { app, BrowserWindow } = require('electron/main')
const createWindow = () => {
const win = new BrowserWindow({
width: 800,
height: 600
})
win.loadFile('index.html')
}
app.whenReady().then(() => {
createWindow()
})
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Hello from Electron renderer!</title>
</head>
<body>
<h1>Hello from Electron renderer!</h1>
</body>
</html>
{
"name": "electrontest",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "electron .",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"electron": "^30.1.1"
}
}
npm run start
安装electron-builder
cnpm install electron-builder --save-dev
{ "name": "electrontest", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "electron .", "build": "electron-builder", "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "devDependencies": { "electron": "^30.1.1", "electron-builder": "^24.13.3" } }
npm run build
cd dist/win-unpacked
electrontest.exe
npm install -g asar
asar -V
v3.2.0
新建pack文件夹,将index.js index.html package.json拷贝到pack文件
mkdir pack
asar ./ app.asar
将app.asar放到electron目录的resources文件夹中
运行
electron
v30.1.1 运行文件优先级:
app.asar > app文件夹 > default_app.asar
By default Electron will search in the following order app.asar
-> app
-> default_app.asar
。
electron\shell\common\node_bindings.cc
const std::vector<std::string> search_paths = {"app.asar", "app","default_app.asar"};
因此,直接将index.js index.html package.json拷贝electron目录的resources文件夹中即可直接运行。
目录结构如下
$ tree . +--- chrome_100_percent.pak +--- chrome_200_percent.pak +--- d3dcompiler_47.dll +--- electron.exe +--- ffmpeg.dll +--- icudtl.dat +--- libEGL.dll +--- libGLESv2.dll +--- LICENSE +--- LICENSES.chromium.html +--- locales +--- resources | +--- app | | +--- index.html | | +--- index.js | | +--- package.json +--- resources.pak +--- snapshot_blob.bin +--- v8_context_snapshot.bin +--- version +--- vk_swiftshader.dll +--- vk_swiftshader_icd.json +--- vulkan-1.dll
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。