-

最近做elelctron开发,遇到个问题,困扰了很长时间。elelctron的渲染进程是可以调用node核心模块的;

可以通过设置:

webPreferences: {
        contextIsolation: false, //上下文隔离
        nodeIntegration: true, //启用Node集成(是否完整的支持 node)
        webSecurity: false,
        enableRemoteModule: true, //是否启用远程模块(即在渲染进程页面使用remote)
      },

然后在渲染进程调用了adm-zip插件

const AdmZip = window.require('adm-zip');

开发环境可以正常运行,打包后报错,adm-zip模块找不到;

查了好久,发现需要在打包文件配置一下:

pluginOptions: {
  electronBuilder: {
      externals: ['adm-zip'],
      nodeModulesPath: ['./node_modules'], // 这里是多个node_modules路径,按自己需要配置即可
  }
}

-

相关文章: