本文的require is not defined问题,非常水。如果大家真的是用心思考问题的话,就根本不会提出这个问题。但是,事实就是:大量新人问这个问题。特别是最新electron升级到5.0系列之后,这个问题就集中爆发了,每天都有大量新人提问有关问题。

electron渲染进程,如何解决require is not defined的问题 - electron-require-not-defined
electron渲染进程,如何解决require is not defined的问题(图4-1)

本文测试环境:win10/electron@5.0.1

问题描述

本文所描述的问题,出现在渲染进程中。如果您的相关错误,是在主进程中出现的,那么并不适合本文的操作。错误提示类似如下:

index.html:20 Uncaught ReferenceError: require is not defined
    at index.html:20

electron渲染进程,如何解决require is not defined的问题 - require-not-defined
electron渲染进程,如何解决require is not defined的问题(图4-2)

解决方案

解决方式非常非常非常简单,那就是:开启BrowserWindownodeIntegration: true

mainWindow = new BrowserWindow({
  //...
  webPreferences: {
     nodeIntegration: true
  }
})

electron渲染进程,如何解决require is not defined的问题 - node-integration-true
electron渲染进程,如何解决require is not defined的问题(图4-3)

为啥最近集中爆发这个问题了呢?那是因为最新的electron@5.0系列中,这个nodeIntegration参数,默认改成false了。而在以前版本的electron中,这个nodeIntegration参数,默认为true

electron渲染进程,如何解决require is not defined的问题 - release-note
electron渲染进程,如何解决require is not defined的问题(图4-4)

相关文章:

总结

本文文章很水,但是估计很实用。各位新人,加油!苏南大叔写的electron文章都在下面这个链接里面,欢迎点击查看:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   electron

本站的忠实读者小伙伴,正在阅读下面这些文章: