电子渲染过程中的代码在打包后无效

时间:2017-03-06 12:26:57

标签: socket.io electron electron-packager

来自index.html的

代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Hello World!</title>
  </head>
  <body>
    <h1>Hello World!</h1>
    <!-- All of the Node.js APIs are available in this renderer process. -->
    We are using Node.js <script>document.write(process.versions.node)</script>,
    Chromium <script>document.write(process.versions.chrome)</script>,
    and Electron <script>document.write(process.versions.electron)</script>.
  <script src="./renderer.js"></script>
  </body>

<form><input></form><div></div>
</html>
renderer.js中的

代码:

var io = require('socket.io')();
var os = require('os');
var fs = require('fs');

io.listen(6000);
io.on('connection', function (socket) {
  socket.on('my socketId', function (data) {
    socket.emit('client connect', {
      nickname: os.hostname()
    });
  });
});

问题:使用浏览器中运行的electron .可以正常运行。但是电子包装商打包后客户没有回复。

非常感谢您的帮助!!

1 个答案:

答案 0 :(得分:0)

我终于解决了这个问题。我正在复制应用程序以首先构建。但是该目录中不存在node_modules(以及那些包)。在运行Electron Packager之前,要么复制它,要么在构建中运行npm install,这样可以使它工作。