Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NodeJS应用程序在调试模式下工作,但不在非调试模式下工作_Javascript_Node.js_Socket.io - Fatal编程技术网

Javascript NodeJS应用程序在调试模式下工作,但不在非调试模式下工作

Javascript NodeJS应用程序在调试模式下工作,但不在非调试模式下工作,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,我已经创建了一个Server.IO应用程序,连接的客户端将从中请求数据。数据从zip文件读取,并正确地将数据发送到客户端 io.sockets.on('connection', function (socket) { fs.readFile("myzip.zip", function(err, data) { if (err) throw err; socket.zip = new JSZip(data); }); // when the clie

我已经创建了一个Server.IO应用程序,连接的客户端将从中请求数据。数据从zip文件读取,并正确地将数据发送到客户端

io.sockets.on('connection', function (socket) {
    fs.readFile("myzip.zip", function(err, data) {
      if (err) throw err;
      socket.zip = new JSZip(data);
    });
    // when the client emits 'getdata', this listens and executes
    socket.on('getdata', function(filename){
        console.log(filename);
        var data = socket.zip.file(filename + '.txt').asText()
        console.log(data);
        // return the data to the client-side
        io.sockets.emit('updatedata', filename, data);
    });
});
在客户端,我正在请求数据

var socket = io.connect(URL);

// on connection to server
socket.on('connect', function(){
    socket.emit('getdata','data_file1');
    socket.emit('getdata','data_file2');
    socket.emit('getdata','data_file3');
});

socket.on('updatedata', function (filename, data) {
    console.log('updatedata ' + filename);
    $('#' + filename).append(data + '<br>');
});
var socket=io.connect(URL);
//连接到服务器时出错
socket.on('connect',function(){
emit('getdata','data_file1');
emit('getdata','data_file2');
emit('getdata','data_file3');
});
socket.on('updatedata',函数(文件名,数据){
log('updatedata'+文件名);
$(“#”+文件名).append(数据+”
); });
但是,当试图以正常的非调试模式读取一些文本文件时,这些文本文件似乎会导致NodeJS应用程序退出,而不会显示错误消息或stacktrace

当我作为
node server.js运行时会发生这种情况

要执行的最后一行是
var data=socket.zip.file(filename+'.txt').asText()但我还没有弄明白如何调试它,因为如果我在调试模式下运行这个应用程序,整个过程都会正常工作


我以调试模式运行,即
节点调试服务器.js

文本文件是简单的CSV文件,其中有些小,有些大,但文件大小似乎不相关。这些文件也都是UTF8,没有BOM表


你知道如何修复这个问题,或者知道为什么它在调试模式下工作,而不是其他模式吗?

你能用堆栈跟踪发布错误吗?你的“调试模式”是什么?我以调试模式运行,作为
节点调试服务器.js
@ZekeSonxx没有错误或堆栈跟踪,它只是退出。