Electron 在运行环境中引入了 Node.js,默认启用了Node.js的require模块,而这些框架为了支持commondJS标准,当Window中存在require时,会启用模块引入的方式。所以在 DOM 中有一些额外的变量,比如module、exports和require。这导致了许多库不能正常运行,因为它们也需要将同名的变量加入运行环境中。
解决方案,Electron中删除这些变量
if (typeof process !== "undefined" && process.versions && process.versions.electron) {
console.log("Running in Electron!");
// 重命名 Electron 提供的 require
window.nodeRequire = require;
delete window.require;
delete window.exports;
delete window.module;
} else {
console.log("Running in Chrome!");
}
```