2015-05-19 138 views
1

我对node.js非常陌生,我想我理解它的基本功能,但我觉得我没有看到对fs.write和buffers功能至关重要的东西。将变量写入缓冲区

我想通过socket.io发送一个用户定义的变量并将其写入一个html文件。我有一个主站点有按钮,点击后它将信息发送到变量中的套接字。

我弄不明白的是如何将变量插入到html文件中。

我能救我输入的字符串,到一个文件: (EG)var writeBuffer = new Buffer ('13');

但不是变量,我把在: (EG)var writeBuffer = new Buffer ($(newval));

我甚至尝试了不同的编码方式,我认为我错过了一些东西。

Server.js

var newval = "User String"; 
 
var fd = fsC.open(fileName, 'rs+', function (error, fd) { 
 
    if (error) { throw error } 
 
    var writeBuffer = new Buffer($(newval)); 
 
    var bufferLength = writeBuffer.length; 
 
    fsC.write(fd, writeBuffer, 0, bufferLength, 937, 
 
    function (error, written) { 
 
     if (error) { throw error } 
 
     fsC.close(fd, function() { 
 
     console.log('File Closed'); 
 
     }); 
 
    } 
 
); 
 
});

+0

没有必要在'$()'中包装'newval'。 'new Buffer(newval)'应该是所有需要的。 –

+0

我也试过,用$(newval)它写垃圾字符 并且用(newval)写一个空格。 –

+0

您是否试图将任意字符串插入HTML文件的第937个字符,然后将该HTML文件返回? –

回答

0

如果您使用的是版本4.0.0 jsdom的或更高版本,它不会与Node.js的工作由于每jsdom github readme

注意,作为我们的4.0.0版本中,jsdom不再与 Node.js的™的工作,而是需要io.js.如果您使用Node.js™,仍然欢迎您在3.x系列中安装 版本。

+0

由于确切的原因,我使用的是版本3 –