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

相关推荐
Taiyuuki4 分钟前
WebGPU 开发者福音!在 VS Code 中实时预览你的WGSL着色器作品
前端·gpu·图形学
李剑一18 分钟前
uni-app实现网络离线定位
前端·trae
鲨莎分不晴18 分钟前
Nginx 部署前端项目实战指南
运维·前端·nginx
码界奇点28 分钟前
基于Vue3与TypeScript的后台管理系统设计与实现
前端·javascript·typescript·vue·毕业设计·源代码管理
ashcn200133 分钟前
水滴按钮解析
前端·javascript·css
攀登的牵牛花33 分钟前
前端向架构突围系列 - 框架设计(五):契约继承原则
前端·架构
爱吃奶酪的松鼠丶40 分钟前
React长列表,性能优化。关于循环遍历的时候,key是用对象数据中的ID还是用索引
javascript·react.js·性能优化
xkxnq1 小时前
第二阶段:Vue 组件化开发(第 17天)
javascript·vue.js·ecmascript
豆苗学前端1 小时前
你所不知道的前端知识,html篇(更新中)
前端·javascript·面试
一 乐1 小时前
绿色农产品销售|基于springboot + vue绿色农产品销售系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·宠物