electron中在预处理文件中提示 Unable to load preload script:?

很简单的代码:
image.png
main.js:

const { app, BrowserWindow } = require("electron")
const path = require('path')

const createWindow = () => {
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      contextIsolation: false,
      preload: path.join(__dirname, 'preload.js'),
    }
  })


  //引用本地地址
  win.loadFile('index.html')

  //打开开发者工具
  win.webContents.openDevTools()

}

app.whenReady().then(createWindow)

preload:

const path = require('path')
console.log(__dirname)

const fs = require('fs')

fs.writeFile("I:/electron/aaa.txt", 'abc', () => {
  console.log("done.")
})

index.html
image.png
但运行一直出下面的错误:

1:node:electron/js2c/sandbox_bundle:93 Unable to load preload script: I:\electron\preload.js
2:node:electron/js2c/sandbox_bundle:93 Error: module not found: path

image.png

首页可以排除node安装或环境的问题,这块肯定没问题。

阅读 8.4k
1 个回答

光看错误信息的话:preload.js 里使用了 path 模组,浏览器里不存在,于是运行失败,导致加载 preload.js 失败。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题