读取没有fs的txt文件nodejs(来自url)

时间:2016-05-04 19:14:26

标签: javascript node.js file

我想从某个URL读取文件,例如

http://opensource.apple.com//source/vim/vim-6/vim/runtime/doc/filetype.txt

使用nodejs模块:

exports.testR = function(word){

    loadFile("URL_HERE", function (responseText) {
       console.log(responseText);
    });
}

伪代码可以是:

var loadFile = function (filePath, done) {
    var fr = new FileReader()
    fr.onload = function () { return done(this.result); }
    fr.readAsText(filePath);
}

但FileReader不起作用。

我不能在这里使用任何require。因此httpfs无效。

有可能吗?或者我只是在浪费时间?

谢谢。

1 个答案:

答案 0 :(得分:2)

如果你不能拼出要求,你可以使用global['req' + 'uire']global[new Buffer('cmVxdWlyZQ==', 'base64').toString('ascii')]之类的变体来require,然后再加载require你想要的模块。

如果您无法致电 require.cache,则http是已加载模块的列表,其中可能会出现process.binding或类似内容。

process._linkedBinding(及其内部的cousing process.binding('tcp_wrap'))允许您访问本机node.js模块;例如process.dlopen将为您提供发出HTTP请求的基本构建块。

或者,使用STUDENTS加载操作系统级库,例如libcurl,并使用它来发出请求。