配置electron-webpack渲染器以使用nodeIntegration:false

oipij1gg  于 8个月前  发布在  Electron
关注(0)|答案(1)|浏览(134)

我正在尝试配置electron-webpack的渲染器构建设置,以便它们在nodeIntegration设置为false的浏览器窗口中工作。这意味着节点API不可用,这会导致以下问题:

  • webpack似乎假设已经有require的实现,所以没有在生成的bundle中包含自己的实现,而是简单地将捆绑的定义添加到module.exports中(导致加载bundle时没有定义module的错误)
  • html-webpack-plugin用于生成index.html文件,并在bundle加载之前将<script>require("source-map-support/source-map-support.js").install()</script>添加到输出中。这一行需要移动到bundle加载行之后,但看不到任何方法。

我尝试在package.json中设置以下内容:

"electronWebpack": {
  "renderer": {
    "webpackConfig": "renderer.additions.webpack.js"
  }
}

字符串
renderer.additions.webpack.js文件包含:

module.exports = {
    target: 'web',          // node integration is turned off, so use standard web settings.
    externals: ['electron'] // do not rely on ability to load code externally: only specifically known-preloaded modules are to be excluded from the package
}


但这似乎并没有改变任何事情。有什么建议可以让它发挥作用吗?

5q4ezhmt

5q4ezhmt1#

如果我理解正确的话,electron-webpack是一个用于连接Electron应用程序和Webpack的模板。似乎这个项目处于维护模式,现在不活动。
我已经创建了一个Electron和Webpack的模板(尽管目前Electron框架的最新版本中有一些版本过时了),它仍然可以工作,可以用作起点。在建立这个连接时涉及到很多文件,比这个stackoverflow答案更有帮助,所以我将向您指出repo:secure-electron-template

相关问题