125

node + express を使用していますが、ファイルを文字列としてインポートする方法を知りたいと思っています。txt ファイルがあり、それを変数にロードするだけだとしましょう。

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

私は反対です

modules.exports = function(){

    var string = "whatever";

    return string;

}
4

6 に答える 6

149

(いくつかの) 特定の拡張機能の場合は、独自の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.readFileそれ以外の場合は、次のものと組み合わせることができますrequire.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);
});
于 2012-10-05T19:43:56.590 に答える
7

readFileモジュールから関数を使用する必要がありfilesystemます。

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

于 2012-10-05T19:16:49.097 に答える