【问题标题】:Write javascript code into a js using fs.writeFile使用 fs.writeFile 将 javascript 代码写入 js
【发布时间】:2019-10-18 10:27:28
【问题描述】:

我正在尝试使用 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 ;

【问题讨论】:

    标签: javascript node.js file fs


    【解决方案1】:

    使用字符串模板

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

    yourArray 是一个对象数组

    【讨论】:

      【解决方案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!");
      });
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-04
        相关资源
        最近更新 更多