1. ホーム
  2. string

[解決済み] ファイルを文字列として要求する

2022-08-07 20:46:36

質問

node + express を使っているのですが、どのようにファイルを文字列として取り込むことができるのでしょうか。例えば、txt ファイルがあるとすると、それをこのように変数にロードしたいのです。

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

私は反対です

modules.exports = function(){

    var string = "whatever";

    return string;

}

どのように解決するのですか?

もし、特定の拡張子(複数可)のためのものであれば、あなた自身の 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);
});