如何使用 Node.js 读取 jQuery 的 HTML 文件

How to read a HTML file for jQuery, using Node.js

我正在使用网络技术和 "client-side" node.js 创建桌面应用程序。通过使用 NWJS,我可以加载节点模块 "client-side".

我想使用节点的 fs.readFile 之类的东西来加载客户端 .html 文件,然后将其转换为我可以的 jQuery 对象,例如,附加到某处。

我知道 jQuery 有自己的 .load() 方法,但我想使用 node.js 加载文件。

编辑:根据 rsp

的回答,它现在正在运行

工作代码:

fs.readFile('./views/main.html', function (err, html) 
{
    if (err) 
    {
        throw err; 
    }     

    $('#toolview').empty().append($(html.toString()));
});

如果您可以在同一上下文中使用 fs.readFilejQuery,那么您可以读取文件并使用 jQuery 解析它,如下所示:

fs.readFile('/path/to/file', function (err, html) {
  if (err) {
    // handle error
  } else {
    var $html = $(html.toString());
    // now $html is a jQuery object
  }
});

这与用 jQuery 做 $('<p>abc</p>') 几乎一样。您可以将 HTML 字符串传递给 jQuery 函数,它 returns 一个 jQuery 对象。这里唯一的区别是字符串来自文件。

默认情况下,您从 readFile 获得的不是字符串,而是 Buffer。它是在 ES6 中有 TypedArray 之前添加的,以便能够以良好的性能处理文件和二进制数据流。

要将缓冲区转换为字符串,您可以使用 toString 方法,该方法可选择采用编码(默认为 UTF-8)、要转换的缓冲区的开始和结束(默认为整个缓冲区)。

有关详细信息,请参阅: