使用fs.writeFile将javascript代码写入js

时间:2019-06-02 18:07:45

标签: javascript node.js file fs

我正在尝试使用Nodejs fs模块将JavaScript代码写入js。我设法编写了一个json文件,但可以全神贯注地介绍如何向其中编写JavaScript。

 fs.writeFile("config.json", JSON.stringify({name: 'adman'tag: 'batsman',age: 25}), 'utf8',{ flag: "wx" }, function(err) {
    if (err) {
      return console.log(err);
    }
    console.log("The file was saved!");
  });

我需要使用以下数据创建一个 .js 文件

const cricketers = [
    {
        name: 'adman',
        tag: 'batsman',
        age: 25
    },
    // other objects
]

module.exports = cricketers ;

2 个答案:

答案 0 :(得分:2)

使用字符串模板

const data = `const cricketers = ${JSON.stringify(yourArray)};
module.exports = cricketers;
`

yourArray是对象数组

答案 1 :(得分:2)

两件事:

  1. 如果您只想做let someData = require('someFile.json');,Nodejs已经支持需要json文件,并将它们像Js对象一样对待。
  2. 否则,我不知道一个图书馆会为您做到这一点,但是...

您可以自己执行此操作。 fs.writeFile函数采用字符串,因此您只需要生成要写入文件的字符串即可。

let someData = [{name: 'adman', tag: 'batsman', age: 25}];
let jsonData = JSON.stringify(someData);
let codeStr = `const cricketers = ${jsonData}; module.exports = cricketers;`;
fs.writeFile("someFile.js", codeStr, 'utf8',{ flag: "wx" }, function(err) {
  if (err) {
    return console.log(err);
  }
  console.log("The file was saved!");
});

显然,这仅适用于非常特定的用例,但要点是可以通过简单(或复杂的...)字符串操作来完成。