开发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,页面即可正常渲染。

相关推荐
用户059540174461 天前
把大模型记忆召回测试从 30 分钟手工核对压到 3 秒自动化,pytest + FAISS 这套组合救了我
前端·css
醉里博客1 天前
醉里起始页 Snavigation2.0:纯前端导航页的二开改造与性能优化实践
前端
雪芽蓝域zzs1 天前
新建前端pnpm(vue js ) 仿若依项目(一)
前端·javascript·vue.js
vipbic1 天前
网站升级了,我却有点舍不得
前端·vue.js·后端
IT_陈寒1 天前
Java Stream并行处理让我数据库崩了两次
前端·人工智能·后端
恋猫de小郭1 天前
Flutter 3.47 首坑,analysis_options 问题连环回归
android·前端·flutter
kaixin_learn_qt_ing1 天前
Electron程序---初体验
javascript·electron
星夜夏空991 天前
网络编程(5)—— Reactor实现(v1)
服务器·javascript·网络
YWL1 天前
OpenLayers测距测面:完整测量工具
前端·javascript·vue.js·信息可视化·openlayers
zhanghaha13141 天前
HTML系列教程:2_HTML 编辑器(零基础超详细讲解
前端·编辑器·html