开发electron时候Chromium 报 Not allowed to load local resource → 空白页。

报错含义

主进程(main.js)里 win.loadFile()/win.loadURL() 指向了
file:///.../app.asar/build/index.html

但打包后真正的文件位于 app.asar 内部 ,路径拼错,于是 Chromium 报 Not allowed to load local resource → 空白页。

根因

electron-builder 把 build 目录放进了 app.asar

而你用 loadFile 时把路径写成 file:// + 绝对路径,
多了一层 /app.asar/ 文件夹,导致找不到。

正确写法(生产环境)

  1. loadFile

    js 复制代码
    const path = require('path');
    win.loadFile(path.join(__dirname, '../build/index.html'));

    注意:

    • 不要加 file:// 协议头;
    • 相对路径以打包后的目录结构为准。
  2. 或用 loadURL 配合 asar 协议(不推荐,易出错):

    js 复制代码
    win.loadURL(`file://${__dirname}/../build/index.html`);
  3. 确保 electron-builder 配置把 build 目录打进去

    package.json → build → files 至少包含:

    json 复制代码
    "files": [
      "build/**/*",
      "electron/**/*",
      "node_modules/**/*"
    ]
  4. 删除旧产物再重新打包

    bash 复制代码
    rmdir /s /q dist
    npm run build-electron-win64
  5. 运行安装包 dist\Harbour-1.0.0-win-x64.exe

    打开 DevTools,若不再出现 Not allowed to load local resource,页面即可正常渲染。

相关推荐
别惊醒渔人8 小时前
Vue3 Diff 优化:最长递增子序列 LIS
前端·javascript·vue.js
颜酱8 小时前
07 | 把字段与指标同步到 Qdrant(生成阶段)
前端·人工智能·后端
用户059540174468 小时前
把AI长期记忆测试从手动验证换成pytest,2天揪出11个隐藏Bug
前端·css
Larcher9 小时前
从“加载模型”界面到端侧推理:拆解一个 React + WebGPU 大模型 Demo
javascript·后端
Larcher9 小时前
从状态快照到惰性初始化:读懂 React useState 的三个关键场景
javascript·人工智能·后端
lichenyang4539 小时前
从 Vite 空项目到 AIGC 图片工作台:我如何打通生图、任务轮询、生成库与 Canvas 动态特效
前端·人工智能
泡沫冰@10 小时前
上章节中文件的讲解
前端·网络·nginx
进击的丸子10 小时前
APP人脸识别增值版Harmony Demo实操与关键代码解析
前端·程序员·harmonyos
a11177610 小时前
唯美花朵风格的黑胶唱片音乐播放器
前端·css·css3
Hilaku11 小时前
工作 5 年后,决定你薪资上限的究竟是什么?
前端·javascript·程序员