【问题标题】:Building Electron app can't find resources filesBuilding Electron 应用找不到资源文件
【发布时间】:2022-12-20 02:02:43
【问题描述】:

我有一个 Electron React 应用程序(使用 create-react-app 构建),它在开发模式下运行良好,但是当我使用 electron-packager 发布它时,.css 和 .js 文件都出现错误“无法加载资源:net ::ERR_FILE_NOT_FOUND”。

查看开发人员工具网络选项卡,我可以看到它正在寻找文件文件:///static/js/main.83d4505c.js文件:///static/css/main.00ef8ad8.css而文件/文件夹结构是:

  • 建立
  • 静电
  • js
    • main.83d4505c.js
  • CSS
    • main.00ef8ad8.css
  • 应用-darwin-x64
    • 应用程序(可执行应用程序)
  • 公开
  • 来源
  • ...

我在主窗口中使用以下代码:

mainWindow.loadURL(
    isDev
        ? 'http://localhost:3000'
        : `file://${path.join(__dirname, '../build/index.html')}`
);

我已尝试按照https://github.com/electron/electron/issues/1769 上的建议将"homepage": "./", 添加到包文件中,但没有帮助。

包.json

{
  "name": "app",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "electron-dev": "concurrently \"BROWSER=none yarn start\" \"wait-on http://localhost:3000 && electron .\""
  },
  "homepage": "./",
  "main": "public/electron.js",
  "directories": {
    "buildResources": "build",
    "app": "build"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "dependencies": {
    "@emotion/core": "^11.0.0",
    "@emotion/react": "^11.9.3",
    "@emotion/styled": "^11.9.3",
    "@mui/icons-material": "^5.8.4",
    "@mui/material": "^5.8.5",
    "@mui/styled-engine-sc": "^5.8.0",
    "@testing-library/jest-dom": "^5.14.1",
    "@testing-library/react": "^13.0.0",
    "@testing-library/user-event": "^13.2.1",
    "chokidar": "^3.5.3",
    "electron-is-dev": "^2.0.0",
    "electron-reload": "^2.0.0-alpha.1",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-scripts": "5.0.1",
    "styled-components": "^5.3.5",
    "web-vitals": "^2.1.0"
  },
  "devDependencies": {
    "concurrently": "^7.2.2",
    "electron": "^19.0.4",
    "electron-builder": "^23.0.3",
    "electron-packager": "^15.5.1",
    "prettier": "1.17.0",
    "wait-on": "^6.0.1"
  }
}

【问题讨论】:

  • 您好,请问您可以发布 package.json 吗?
  • @LansanaDiomande 完成
  • 您能否将jscss 目录放在src 目录中,并通过相对(与绝对)路径(在您的.html 文件中)引用其中的文件?
  • 我和你有类似的问题,社区方法不起作用

标签: reactjs electron electron-builder electron-packager


【解决方案1】:

你需要使用 HashRouter,我有同样的问题,但我解决了它。

enter image description here

enter image description here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-01
    • 2016-12-17
    • 2019-07-02
    • 2023-04-07
    • 2022-08-21
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多