1 回答

TA貢獻1946條經驗 獲得超3個贊
您可以通過攔截文件協議處理程序來完成此操作。如果您已將文件映射設置為如下對象:
files = {
"file1.js": "/path/to/file1.js",
"file2.js": "/path/to/file2.js",
// etc.
}
然后在 createWindow 函數中,您將在實例化新的 BrowserWindow 后立即插入此代碼:
protocol.interceptFileProtocol("file", (req, cb) => {
var file = req.url.split("/")
file = file[file.length-1]
if (files[file]) {
console.log(`intercepting ${file} => ${files[file]}`)
cb({path:files[file]})
}
})
注意:您從需要電子中獲得的protocol參考資料const,例如:
const {app, BrowserWindow, protocol} = require("electron")
此代碼假定文件名是唯一的,并且是路徑中唯一重要的部分。因此,例如,無論代碼認為“file1.js”位于什么路徑,在上面的示例中它將被重定向到/path/to/file1.js. 如果請求的文件不存在,則行為未定義,可能不會加載任何內容。
添加回答
舉報