javascript - Electron:如何执行捆绑文件?
问题描述
TL;DR:我有一个bundle.js
用 Browserify 创建的捆绑 JS 文件。我想加载这个文件并将内容附加到BrowserView
Electron 中使用executeJavaScript
. 我怎样才能做到这一点?
我需要包含的包是 Web3.js。我通过运行将 Web3 与 Browserify 捆绑在一起:
browserify packages/web3/src/index.js -o web3-bundle.js
这是将包包含到BrowserView
.
- 使用
require
.
我尝试使用require
导入文件。
const Web3 = require('web3-bundle.js');
view.webContents.executeJavaScript(`
${Web3};
console.log(Web3);
`);
- 使用
fs
:
fs.readFile(path.resolve(__dirname, 'web3-bundle.js'), 'utf8', function (err, data) {
if (err) {
console.error(err);
return;
}
console.log('data', data)
view.webContents.executeJavaScript(`
${data};
console.log(Web3);
`)
});
如何将捆绑的文件附加到BrowserView
Electron 中?
解决方案
您可以将脚本预加载到BrowserView
const view = new BrowserView( { webPreferences: { preload : 'absloute/path/to/web3-bundle.js' } } )
推荐阅读
- visual-studio-code - 可以从命令行调用 VSCode 扩展命令吗?
- apache-spark - 为什么 Spark 会选择在单个节点上完成所有工作?
- mysql - MySQL合并非空值与其他case when和coalesce语句冲突-不确定如何修复
- php - 尝试在自定义帮助程序中访问别名会引发“未找到”消息。拉拉维尔 5.7
- node.js - NodeJS 的 UDP 代理
- python - 如何使用 QPainter + QPixmap 实现鼠标绘图?
- php - 由于 shell 脚本权限,Gitlab webhook 无法正常工作
- javascript - 使用单击的数据 ID 更新隐藏输入的值
- dialogflow-es - 如何使用 python 从 webhook 修改参数的值 - Dialogflow 聊天机器人
- php - $_SESSION 标记内的索引未定义,即使我在登录后立即定义了它