vue.js - 在 Electron 和 Vue 中加载预加载脚本
问题描述
我正在使用 Vue CLI 3 并vue-cli-plugin-electron-builder
打包我的 Vue Electron 应用程序,但我无法让我的 preload.js 脚本用于电子工作。
主窗口
win = new BrowserWindow({
width: 800,
height: 600
webPreferences: {
nodeIntegration: false,
preload: path.join(__dirname, "/../src/preload.js") // works but window.electron.dialog in undefined
}
});
preload.js
const { dialog } = require("electron");
window.electron = {};
window.electron.dialog = dialog;
在我的window.electron.dialog
Vue 组件中始终未定义 - 导入显然不起作用。请注意,window.electron
已正确定义。我肯定错过了什么。
解决方案
将以下行添加到文件vue.config.js
中,如果文件不存在,请在项目的根文件夹中创建一个
module.exports = {
//...
pluginOptions: {
electronBuilder: {
preload: 'src/preload.js',
// Or, for multiple preload files:
// preload: { preload: 'src/preload.js', otherPreload: 'src/preload2.js' }
}
}
//...
}
查看文档以获取更多#preload-files
推荐阅读
- xmonad - 在 xmonad 中,有些键绑定有效,有些则无效?
- docker - Docker Compose - 将挂载目标设置为 dockerfile 中指定的卷
- r - 从 mutate_at() 更改为 mutate(across()) 函数问题
- amazon-web-services - 如何解决terraform中的数据源问题
- android - Android Kotlin Range 滑块以编程方式设置值
- python - Python,Django float() 参数必须是字符串或数字,而不是 'NoneType
- swift - 没有模型铸造的模型的初始值如何快速
- python - 用没有类关键字的 html 创建一个字典或数据框
- javascript - Drupal8/9 jQuery 选择带有上下文的 DOM 元素
- php - 基于数组中相同相同ID的php求和值