Electron App节点集成:如何在POST之后访问require()

我正在构build一个电子应用程序,并遇到一个问题,当页面发布到自身时,需要被定义为undefined。 我的目标是使用电子作为一个现有网站的包装,不幸的是有这个职位的行为。 经过preload和executeJavascript的大量试验和错误,我发现使用require()和节点集成工作。 除非请求是POST。 我对Electron和node非常新,所以也许我只是错过了一些简单的东西!

我在Electron 0.26.0和0.27.1中得到这个行为。

这是重新创build问题最简单的方法。

的package.json

{ "name": "PostExample", "version": "0.1.0", "main": "main.js", "description": "Post Loses Global" } 

main.js

 var app = require('app') var BrowserWindow = require('browser-window') var mainWindow = null; app.on('window-all-closed', function() { app.quit() }); app.on('ready', function() { mainWindow = new BrowserWindow({ "node-integration": true, }); mainWindow.loadUrl('file://' + __dirname + '/index.html') mainWindow.openDevTools() }); 

的index.html

 <html> <script type="text/javascript"> console.log(typeof global) try{ var fs = require("fs"); } catch(e){ console.warn("ERROR", e) } </script> <body> <h1>Posts to self</h1> <form action="" method="post"> <input type="text" name="somevar" value="val" /> <button type="submit">Go</button> </form> </body> </html>