电子和反应:找不到给定 URL 的资源,DevTools 无法加载 SourceMap

问题描述 投票:0回答:2

对于我的电子应用程序的生产(mac dmg)构建,我无法触发

location.reload()
,连接到
redux-dev-tools
,并且源映射无法加载。

加载应用程序时,控制台警告无法加载源映射: Screen Shot 2021-05-04 at 3 56 09 PM

源中的

index.html
表示无法加载资源: Screen Shot 2021-05-04 at 3 56 57 PM

执行

location.reload()
会导致应用程序崩溃并出现白屏且没有控制台日志(此命令适用于 Electron 开发版本)。

我的电子代码包含在

electron/index.electron.js
中,相关片段是:

const options = {
    icon: join(__dirname, '../src/common/assets/app-icons/png/256x256.png'),
    webPreferences: {
        nodeIntegration: false,
        preload: join(__dirname, "preload.js")
    }
};
// ...
mainWindow = new BrowserWindow({
  ...options,
  ...windowOptions
});
// ...    
const startUrl = process.env.ELECTRON_START_URL || url.format({
    pathname: "file://../build/index.html"
});
// ...
mainWindow.loadURL(startUrl);

相关

package.json
片段:

"homepage": "./",
"scripts": {
  "electron-build:mac": "rm -rf dist/ && yarn build && electron-builder -m",
},
"build": {
    "appId": "appId",
    "extends": null,
    "files": [
      "dist/**/*",
      "build/**/*",
      "node_modules/**/*",
      "src/common/assets/**/*",
      "public/*",
      "electron/**/*"
    ],
    "directories": {
      "buildResources": "./src/common/assets"
    }
  },
"devDependencies": {
  "electron": "^11.3.0",
  "electron-builder": "^22.9.1"

我在开发中唯一可以确认的是运行

location.reload()
成功地重新加载了应用程序。

谢谢:)

reactjs electron electron-builder react-scripts
2个回答
2
投票

您的网址无效, 你应该改变这个:

const startUrl = process.env.ELECTRON_START_URL || url.format({
    pathname: "file://../build/index.html"
});

到此

const startUrl = process.env.ELECTRON_START_URL || url.format({
    pathname: "file://${ __dirname}/build/index.html"
});

0
投票

就我而言,有一个第三方包依赖于其他包。依赖包版本未与父包同步。我验证了包的依赖关系并升级/降级了包解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.