electron 的 index.html文件中加入资源引用,比如src="/assets/index.f2932f37.js"
就会到磁盘根目录中获取D:\assets\index.f2932f37.js
,怎么指定到.html
文件所在的目录去查找,类似'/assets/index.f2932f37.js'?也就是如何指定根目录?
function createWindow () {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
})
win.loadFile('./dist/index.html')
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite App</title>
<script type="module" crossorigin src="/assets/index.f2932f37.js"></script>
<link rel="modulepreload" href="/assets/vendor.a5e6f6e0.js">
<link rel="stylesheet" href="/assets/index.3714cd5a.css">
</head>
<body>
<div id="app"></div>
</body>
</html>
看一下 'preload.js'的路径,参考这个路径的书写方式:
win.loadFile(path.join(__dirname, 'index.html'))
你可以看一下打包之后的 index.html 和 preload.js是不是在同级目录,如果不是就按照他们的相对路径调整一下