electron启动页

  • 如果有 launch.json 文件的话一般就是在文件中指定的
  • program 中指定的 main.js
json 复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "启动程序",
            "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "${workspaceFolder}\\main.js"
        }
    ]
}
  • 如果没有 launch.json 文件,可以在 package.json 中通过 main 字段指定 Electron 主进程的入口文件
json 复制代码
{
  "name": "myphone",
  "version": "1.0.0",
  "description": "myphone desc",
  "main": "main.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "electron .",
    "build": "electron-builder --config electron-builder.json",
    "dist": "electron-builder --win --ia32"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "electron-builder": "^23.6.0"
  }
}

优先级

Electron 项目中,launch.jsonpackage.json 设置的入口有不同的作用范围和优先级:

入口文件的优先级和作用
  1. package.json 中的 main 字段

    • 这是 Electron 应用的主进程入口
    • 指定的是 Electron 应用启动时加载的 JavaScript 文件
    • 例如:"main": "main.js" 表示 Electron 会执行 main.js 文件
  2. Launch 文件(如 .vscode/launch.json

    • 这是开发环境调试配置,用于 IDE 调试时指定如何启动应用
    • 不影响生产环境的应用启动行为
    • 主要用于开发时的调试参数设置
实际启动流程
  • 生产环境:只看 package.jsonmain 字段
  • 开发调试:如果配置了 launch.json文件,会按照其配置启动调试会话,但仍会最终加载 package.json 中指定的主进程文件
总结

package.jsonmain 字段是 Electron 应用的权威入口配置,而 Launch 文件只是开发工具的调试配置。应用的实际启动始终以 package.json 的配置为准。

相关推荐
寒水馨7 小时前
Windows下载、安装electron-v43.2.0(附安装包electron-v43.2.0-win32-x64.zip)
javascript·windows·typescript·electron·跨平台·桌面应用·chromium
寒水馨8 小时前
macOS下载、安装electron-v43.2.0(附安装包electron-v43.2.0-darwin-arm64.zip)
javascript·macos·electron·node.js·跨平台·桌面应用开发·开源框架
devlei3 天前
Electron原理初探
electron
willyonzhon4 天前
从开发调试到用户能下载安装:我把相册打成安装包的经历
electron·笑笑相册·相册管理·相册开发
江米小枣tonylua8 天前
升级到 Prisma 7:“Rust 除锈” 带来的意外红利
electron
还好还好不是吗11 天前
MatrixMedia v0.10.x 更新:B站封面自定义 + 二开指南,开源项目的开发者体验再升级
electron·开源
习明然12 天前
我的本地化AI项目(三)
人工智能·python·electron·c#·avalonia
Hyyy13 天前
为什么 macOS 应用一换 Bundle ID,之前授予的权限就全失效了?
macos·electron
月走乂山15 天前
Anything Analyzer MCP 401 Unauthorized 故障排查
electron·故障排查·mcp·claude code·anything analyzer
熊猫钓鱼>_>15 天前
Electron:当 Web 技术统治桌面
大数据·前端·javascript·人工智能·架构·electron·agent