当前位置: 首页 > 知识库问答 >
问题:

使用Electrol-Builder构建React-Electron应用程序,index.js加载在预标签中

洪高阳
2023-03-14

我有一个应用程序,我现在正试图建立分发测试。

我使用React和Electron与Electrol-Builder一起构建应用程序本身。我不是一个web开发人员,所以我一直试图保持基本的东西,只是得到一些工作。

function createWindow() {
    const startUrl = process.env.ELECTRON_START_URL || url.format({
        pathname: path.join(__dirname, '../src/index.js'),
        protocol: 'file:',
        slashes: true,
    });
    mainWindow = new BrowserWindow({
        width: 800, height: 600, title: "Electron App", webPreferences: {
            nodeIntegration: true
        }
    });
    mainWindow.loadURL(startUrl);
    mainWindow.on('closed', function () {
        mainWindow = null;
    });
}
 "scripts": {
    "start": "nf start -p 3000",
    "start-electron": "set ELECTRON_START_URL=http://localhost:3000 && electron .",
    "react-start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "build-electron": "npm run build && electron-builder build --win"
  }

这也是构建部分。老实说,我真的不明白这是什么或做了什么,但经过几个小时的尝试和错误,这就是让我达到现在的地步。

"build": {
"appId": "Test",
"extends": null,
"files": [
  "./build/**/*",
  "./electron/main.js",
  "./src/**/*"
 ]
}

就我所知,这与Electron start URL有关,因为当我从createWindow中的const startUrl中删除该URL时,使用npm start运行应用程序与构建的Electron应用程序所做的事情相同,而在使用npm之前,每次都将正常启动应用程序。

解决方案后编辑:

"build": {
    "appId": "Test",
    "extends": null,
    "files": [
      "./build/**/*",
      "./electron/main.js",
      "./src/**/*"
    ],
    "directories": {
      "buildResources": "./public"
    }
  }    
const startUrl = process.env.ELECTRON_START_URL || url.format({
        pathname: path.join(__dirname, '../build/index.html'),
        protocol: 'file:',
        slashes: true,
    });

共有1个答案

扈阳辉
2023-03-14

您应该用html文件设置它。

    const startUrl = process.env.ELECTRON_START_URL || url.format({
        pathname: path.join(__dirname, '../src/index.html'),
        protocol: 'file:',
        slashes: true,
    });
 类似资料:
  • 失败,“gcr.io/cloud-builders/docker”失败:退出状态139

  • 所有 electron-builder 生成的文件都可以在 build 文件夹中找到。 构建 npm run build 构建未打包的目录 生成简单的可执行文件,没有完整的安装程序。用于快速测试。 npm run build:dir 默认的构建配置 可以在 package.json 中使用基于 electron-builder 的 各种选项 进行进一步定制。 "build": { "produc

  • 我的React客户端的Dockerfile: 我的Express后端的Dockerfile: 我的码头工人。项目根目录中的yml文件: 我的服务器。我的后端文件夹下的js文件: 当我跑的时候: 我得到以下输出在我的终端: 我的后端以代码0退出,我无法加载我的应用程序。我的后端正在运行。 我做错了什么,如何让我的React-Express Node应用程序与Docker Comment一起运行?

  • 两个命令“NPM run Build”和“PM2 reload All”使用ansible引发错误,但在目标服务器上这些命令运行良好 目标服务器上的pm2位置:即pm2 pm2://home/ubuntu/.nvm/versions/node/v12.10.0/bin/pm2 {“changed”:false,“cmd”:“pm2全部重新加载”,“msg”:“[Errno 2]没有这样的文件或目录

  • 一个普通的应用程序由以下文件组成: 二进制文件 这个安装在 /usr/bin。 一个桌面文件 这个桌面文件向shell提供关于这个程序的重要信息,例如名称、图标、D-Bus名称,启动的命令行。安装在 /usr/share/applications. 一个图标 这个图标安装在 /usr/share/icons/hicolor/48x48/apps, 无论当前背景是什么系统都会到这里查找图标。 一个设

  • 嗨,我正在尝试将OpenGL桌面应用程序移植到android。我对android开发一无所知,所以我依赖Qt Creator来打包应用程序。作为设置的一部分,我在android ndk中使用以下设置调用了“生成独立工具链”脚本 然后我使用android-cmake并将其传递给我新创建的独立工具链的路径,该路径在我的assimp目录树中创建了libassimp.so、libassimp.so.3和l