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

相关推荐
啃火龙果的兔子6 分钟前
前端八股文性能调优篇
前端·前端框架
JarvanMo10 分钟前
停止与 Compose 导航作斗争(这 5 个技巧将改变一切)
前端
trsoliu20 分钟前
前端周刊第437期:AI编程助手、WebGPU实战与React生态新动态
前端
AnalogElectronic24 分钟前
vue3 实现贪吃蛇 电脑版01
javascript·vue.js·ecmascript
trsoliu26 分钟前
2025年Web前端前沿技术动态:WebGL动画、CSS View Transitions与HTML隐藏API
前端·javascript·css
trsoliu28 分钟前
2025年Web前端最新趋势:React基金会成立、AI编码助手崛起与Astro极速搜索
前端·javascript·react.js
一 乐31 分钟前
商城推荐系统|基于SprinBoot+vue的商城推荐系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·商城推荐系统
亿元程序员37 分钟前
为什么游戏公司现在都喜欢用protobuf?
前端
鹏多多39 分钟前
React瀑布流Masonry-Layout插件全方位指南:从基础到进阶实践
前端·javascript·react.js
fruge1 小时前
前端数据可视化实战:Chart.js vs ECharts 深度对比与实现指南
前端·javascript·信息可视化