常见的字段内容,可以根据实情酌情增减:
{
"name": "my-electron-app", // 应用名称,必须全小写,不能包含空格,用于npm包管理。
"version": "1.0.0", // 应用版本号,遵循语义化版本规则 (major.minor.patch)。
"description": "A sample Electron app", // 应用描述信息。
"productName": "dsp_demo",
"main": "src/main.js", // Electron 应用的主进程入口文件。
"author": { // 作者信息。
"name": "Your Name", // 作者姓名。
"email": "your.email@example.com", // 作者邮箱。
"url": "https://yourwebsite.com" // 作者网站(可选)。
},
"license": "MIT", // 项目使用的许可证类型。
"scripts": { // 定义运行脚本的快捷命令。
"start": "electron .", // 启动 Electron 应用。
"build": "electron-builder", // 使用 electron-builder 进行打包。
"package": "electron-builder --dir", // 仅创建应用文件夹,不打包成安装程序。
"make": "electron-builder --mac --win --linux", // 同时打包 macOS、Windows 和 Linux。
"lint": "eslint src" // 检查代码格式。
},
"dependencies": { // 项目运行时依赖的库。
"electron-squirrel-startup": "^1.0.0" // 用于处理 Windows 自启动问题。
},
"devDependencies": { // 项目开发时使用的依赖库。
"electron": "^26.2.0", // Electron 主框架。
"electron-builder": "^25.1.8" // Electron 打包工具。
},
"keywords": [ // 项目的关键词,便于搜索。
"electron",
"desktop",
"application"
],
"build": { // electron-builder 配置项。
"electronVersion": "33.2.0",
"electronDownload": {
"cache": "/usr/local/lib/node_modules/electron/dist/v33.2.0"
},
"appId": "com.example.myapp", // 应用 ID,建议使用反向域名格式。
"productName": "MyElectronApp", // 应用显示的名称。
"files": [ // 指定需要包含的文件或目录,支持通配符。
"dist/**/*",
"node_modules/**/*",
"package.json"
],
"directories": { // 目录相关配置。
"output": "dist" // 打包输出目录。
},
"win": { // Windows 平台相关配置。
"target": ["nsis"], // 打包目标类型,例如 nsis(安装程序)、portable(便携版本)。
"icon": "build/icon.ico" // Windows 图标文件路径。
},
"mac": { // macOS 平台相关配置。
"target": ["dmg", "zip"], // 打包目标类型,例如 dmg(磁盘映像文件)、zip。
"icon": "build/icon.icns" // macOS 图标文件路径。
},
"linux": { // Linux 平台相关配置。
"target": ["AppImage", "deb"], // 打包目标类型,例如 AppImage(通用安装包)、deb(Debian 系列安装包)。
"icon": "build/icon.png" // Linux 图标文件路径。
},
"extraMetadata": { // 额外的元信息,可以动态修改 package.json 中的字段。
"version": "1.0.0-beta" // 修改版本号为 beta。
},
"publish": { // 配置发布信息,用于自动上传构建的安装包。
"provider": "github", // 使用 GitHub 发布。
"repo": "my-electron-app", // GitHub 仓库名称。
"owner": "your-username" // GitHub 仓库所有者。
}
}
}