javascript - Electron :如何执行捆绑文件?

标签 javascript electron filesystems browserify fs

TL; DR:我有一个用Browserify创建的 bundle JS文件bundle.js。我想加载此文件,然后使用BrowserView将内容附加到Electron中的executeJavaScript。我怎样才能做到这一点?

我需要包含的软件包是Web3.js。我通过运行将Web3与Browserify bundle 在一起:

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);
    `)
    });
    

    如何将 bundle 的文件附加到Electron中的BrowserView中?

    最佳答案

    您可以将脚本预加载到BrowserView

    const view = new BrowserView( { webPreferences: { preload : 'absloute/path/to/web3-bundle.js' } } )
    

    关于javascript - Electron :如何执行捆绑文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58025675/

    相关文章:

    java - android ndk wrapped c++ file 获取android系统文件路径

    ios - 使用某种持久 ID 监视文件

    javascript - 无法获取/api/任务

    javascript - Electron 。如何用新的浏览器窗口覆盖停靠面板?

    node.js - 引用错误: BigInt is not defined Asar Electron Nodejs

    javascript - Angular Directive(指令)未显示

    javascript - 如何将 svg 图标与 Material-UI SvgIcon 合并

    javascript - 如何使用 MS Graph API 上传任何文件?

    javascript - 谷歌 API 信息窗口显示在谷歌地图 API 上的 1 个标记下

    android - 检查给定文件是否存在于此路径上或 Android 文件系统中是否存在?