【问题标题】:Write a variable into a buffer将变量写入缓冲区
【发布时间】:2015-07-31 16:12:38
【问题描述】:

我对 node.js 很陌生,我想我了解它的基本功能,但我觉得我没有看到对 fs.write 和缓冲区的功能至关重要的东西。

我正在尝试通过 socket.io 发送用户定义的变量并将其写入 html 文件。我有一个带有按钮的主站点,当单击它时,它会将信息发送到变量中的套接字。

我想不通的是如何将变量插入到 html 文件中。

我可以将我输入的字符串保存到一个文件中: (例如)var writeBuffer = new Buffer ('13');

但不是我输入的变量: (例如)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');
      });
    }
  );
});

【问题讨论】:

  • 无需将newval 包裹在$() 中。 new Buffer(newval) 应该是所有需要的。
  • 我也试过了,用 $(newval) 写垃圾字符,用 (newval) 写空格。
  • 您是否尝试将任意字符串插入 HTML 文件的第 937 个字符,然后返回该 HTML 文件?
  • 另外,在 node.js 的上下文中 $ 应该是什么?似乎您正试图用 jQuery 包装一个字符串,就好像它是一个 css 选择器一样。
  • 是的,这正是我想要做的。我将 jsdom 与 nodejs 一起使用,因此可以使用 jQuery 命令。

标签: javascript jquery node.js socket.io


【解决方案1】:

如果您使用的是 jsdom 4.0.0 或更高版本,则它不适用于 Node.js。根据jsdom github readme

请注意,从我们的 4.0.0 版本开始,jsdom 不再适用于 Node.js™,而是需要 io.js。仍然欢迎您安装 如果您使用 Node.js™,则在 3.x 系列中发布。

【讨论】:

  • 出于这个原因,我使用的是版本 3
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多