2017-04-25 82 views
0

我有一些txt文件,裏面有一些自定義內容。文件名稱包含在JSON之內。使用JavaScript需要JSON文件

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

我想require他們有他們在JS內容的訪問。事情是這樣的:

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

這是在Node上完成的 – Nickon

回答

3

使用節點的fs API;特別是,readFile 和/或readFileSync

您仍可以要求你的.json包含文本文件的列表,但你應該使用readFile/readFileSync閱讀文本文件的內容,而不是濫用require