2017-04-25 60 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