2017-04-25 10 views
0

txtのファイルにカスタムコンテンツをいくつか入れています。ファイル名はJSONに含まれています。JavaScriptを使用してJSONからファイルを要求する

{ 
    txtFiles: ['./file1.txt', './file2.txt', './file3.txt'] 
} 

私はJSで自分のコンテンツへのアクセスを持っているためにそれらをrequireたい。このような何か:

const txtFile = require('json!abracadabra!myJsonFile.json'); 
console.log(txtFile[0]); // should give me a content of file1.txt, not the path 

私はいつものように、それをテキスト変数を作成するようないくつかのトリックを行うと.jsファイルに保存し、その後require可能性が知っています。このように:

// 1. create string variable 
const myStringVar = `module.exports = [\'require(\'raw!./file1.txt\')\', ...];`; 
// 2. then save this into myTxtFiles.js 
// 3. then require the file 
const txtFileContents = require('./myTxtFiles.js'); 

これは機能していますが、解決策はちょっと厄介で醜いです。どのようにいくつかのより良い方法で同じを達成するには?

+0

あなたはどのような環境で作業していますか?ブラウザ、またはnodejs /コマンドライン? – searlea

+0

これはノード上で行われます – Nickon

答えて

3

ノードのfs APIを使用します。特に、readFile および/またはreadFileSync

は、あなたはまだ、テキストファイルのリストを含むあなたの.jsonを必要とすることができますが、むしろrequireを乱用よりもテキストファイルの内容を読み取るためにreadFile/readFileSync使用する必要があります。

関連する問題