需要文件作为string

我正在使用节点+快递,我只是想知道如何我可以导入任何文件作为一个string。 比方说,我有一个txt文件,我想要的是加载到一个variables,因此。

var string = require("words.txt"); 

我反对

 modules.exports = function(){ var string = "whatever"; return string; } 

如果是针对(less数)特定的扩展,您可以添加自己的require.extensions处理程序:

 var fs = require('fs'); require.extensions['.txt'] = function (module, filename) { module.exports = fs.readFileSync(filename, 'utf8'); }; var words = require("./words.txt"); console.log(typeof words); // string 

否则,您可以将fs.readFilerequire.resolve混合使用:

 var fs = require('fs'); function readModuleFile(path, callback) { try { var filename = require.resolve(path); fs.readFile(filename, 'utf8', callback); } catch (e) { callback(e); } } readModuleFile('./words.txt', function (err, words) { console.log(words); }); 

你将不得不使用filesystem模块的readFile函数。

http://nodejs.org/docs/v0.3.1/api/fs.html#fs.readFile

只使用标准库:

 var fs = require('fs'); var exec = require('child_process').exec; // async fs.readFile('./data.txt', 'utf8', function(oErr, sText) { console.log(sText); }); // sync console.log(fs.readFileSync('./data.txt', 'utf8'));