Files
Electron_x64_x32/README.md
2025-12-02 17:41:15 +08:00

235 lines
6.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# FFI-NAPI Electron Application
基于 Electron 20 的 外壳程序。
## 特点
- **源码可见**:打包后 main.js、index.html、test.js 等文件保留在 resources/app 目录中
- **便携版**:无需安装,双击运行
- **支持 32 位和 64 位**
## 安装依赖
```bash
npm install
```
或使用国内镜像:
```bash
.\install-electron.bat
```
## 添加图标(必须步骤)
**在打包前必须完成:**
1. 创建 `build` 文件夹:
```bash
mkdir build
```
2. 准备一个 `.ico` 格式的图标文件
- 推荐尺寸256x256 像素
- 必须是 `.ico` 格式(不是 `.png` 或 `.jpg`
3. 将图标文件重命名为 `icon.ico`
4. 将 `icon.ico` 复制到 `build` 文件夹中
5. 验证图标文件:
```bash
node verify-icon.js
```
## 运行开发模式
```bash
npm start
```
## 打包便携版
### 推荐:使用完整重新打包脚本
```bash
.\rebuild-with-icon-fix.bat
```
### 单独打包
32位便携版
```bash
npm run build:32
```
64位便携版
```bash
npm run build:64
```
同时打包:
```bash
npm run build
```
## 便携版使用说明
### 打包后的文件结构
便携版首次运行后会自解压,生成以下目录结构:
```
你的文件夹/
├── FFI-NAPI-App Portable x64 1.0.0.exe # 主程序
└── (首次运行后自动生成)
├── resources/
│ ├── app/ # 应用源码目录(可编辑)
│ │ ├── main.js # 主进程文件
│ │ ├── index.html # 界面文件
│ │ ├── test.js # 业务逻辑文件
│ │ └── package.json # 配置文件
│ ├── exe/ # 外部可执行文件目录
│ │ └── Test.exe
│ └── electron.asar # Electron 核心(不可编辑)
└── ...其他 Electron 文件
```
### 便携版的优势
1. **源码可见**:所有 JavaScript 文件都在 `resources/app/` 目录中,未加密
2. **可以修改**:可以直接编辑 `resources/app/main.js` 等文件来调整功能
3. **便于调试**:出现问题时可以直接查看和修改源码
4. **无需重新打包**:小的修改可以直接编辑文件,无需重新打包
### 部署到其他电脑
直接复制整个文件夹到目标电脑即可,包括:
- 主 `.exe` 文件
- 首次运行后生成的所有文件和文件夹
### 修改便携版代码
1. 运行一次便携版程序(会自解压)
2. 找到 `resources/app/` 目录
3. 用文本编辑器打开需要修改的文件(如 `main.js`
4. 保存修改
5. 重新启动程序即可看到更改效果
### 测试便携版
```bash
.\test-portable.bat
```
此脚本会:
- 模拟便携版部署
- 自动复制 exe 文件夹
- 启动程序进行测试
## 输出文件
打包完成后,便携版程序将生成在 `dist` 目录中:
- 32位: `FFI-NAPI-App-Portable-ia32-1.0.0.exe`
- 64位: `FFI-NAPI-App-Portable-x64-1.0.0.exe`
便携版特点:
- 无需安装,双击即可运行
- 首次运行会自解压所有文件
- 源码保存在 `resources/app` 目录,可以直接修改
- 配置文件保存在程序同目录
- 可以放在 U 盘中使用
## 路径说明
### 开发环境
- 应用文件: `项目根目录/main.js`
- exe 文件路径: `项目根目录/exe/Test.exe`
### 打包后(便携版运行时)
- 应用文件: `resources/app/main.js`(可编辑)
- exe 文件路径: `resources/exe/Test.exe`
**重要:** 便携版不需要编辑任何代码就能正常运行,但如果需要修改,可以直接编辑 `resources/app/` 下的文件。
## 常见问题
### Q: 为什么选择不使用 asar 打包?
A:
- **便于修改**:用户可以直接修改代码,无需重新打包
- **易于调试**:出现问题时可以直接查看源码
- **透明化**:所有代码都是可见的,用户可以了解程序的工作原理
### Q: 如何修改便携版的代码?
A:
1. 首次运行便携版程序,让它自解压
2. 找到程序目录下的 `resources/app/` 文件夹
3. 用任何文本编辑器记事本、VS Code 等)打开要修改的文件
4. 保存后重启程序即可
### Q: 修改代码后需要重新打包吗?
A: 不需要。因为代码没有打包进 asar所以可以直接修改 `resources/app/` 下的文件。
### Q: 便携版的安全性如何?
A: 源码是明文的,任何人都可以查看和修改。如果需要保护代码,可以:
1. 将 `asar: false` 改为 `asar: true`
2. 使用代码混淆工具
3. 使用加密方案
### Q: 如何在便携版中调试?
A:
1. 编辑 `resources/app/main.js`
2. 找到 `webPreferences` 配置
3. 确保包含 `nodeIntegration: true` 和 `contextIsolation: false`
4. 取消注释 `mainWindow.webContents.openDevTools()` 来打开开发者工具
## 目录结构
### 打包前(项目目录)
```
ffi-napi/
├── main.js # Electron 主进程
├── index.html # 应用界面
├── test.js # FFI 调用模块
├── package.json # 项目配置
├── electron-builder.yml # 构建配置asar: false
├── build/ # 构建资源目录
│ └── icon.ico # 应用图标
├── exe/ # 可执行文件目录
│ └── Test.exe
└── dist/ # 打包输出目录
```
### 打包后(便携版运行后)
```
程序目录/
├── FFI-NAPI-App Portable x64 1.0.0.exe
├── resources/
│ ├── app/ # 应用源码(可编辑)
│ │ ├── main.js # 可以用记事本打开修改
│ │ ├── index.html
│ │ ├── test.js
│ │ └── package.json
│ ├── exe/ # 外部程序
│ │ └── Test.exe
│ └── electron.asar # Electron 核心
├── locales/
└── ...其他文件
```
## 注意事项
- 源码在 `resources/app/` 目录中是明文的,可以直接编辑
- 修改代码后无需重新打包,重启程序即可
- 如果需要保护代码,请修改 `electron-builder.yml` 中的 `asar: false` 为 `asar: true`
- 32位程序可以在64位系统上运行
- 64位程序只能在64位系统上运行
- 图标文件必须是标准的 `.ico` 格式
- Windows 会缓存图标,更换图标后需要清理缓存