【问题标题】:Nodejs: Stringified Object not written to file on fs.writeFile()Nodejs:字符串化对象未写入 fs.writeFile() 上的文件
【发布时间】:2021-08-10 04:10:51
【问题描述】:

我正在尝试将 webpack 配置写入文件。但是每次我做fs.writeFile时文件的内容总是空的。

module.exports = (webpackConfigEnv, argv) => {
    fs.writeFile('test.txt', JSON.stringify(obj), err => { console.log(err); });
}

这会写入文件,但文件内容为空。我该怎么做才能解决这个问题?

【问题讨论】:

  • obj 在您的代码示例中未定义
  • 您的代码对我有用。程序在写入数据之前有可能退出吗?这个函数怎么调用?
  • @RaphaelPICCOLO - 在对象中放入任何东西,看看它是否适合你
  • @Michael - 我在 webpack 中调用它......在合并我的配置之前,我想在文件中写入配置。
  • 我对 webpack 不太了解,但是与 fs.writeFileSync('test.txt', JSON.stringify(obj)); 有什么区别;

标签: javascript node.js json filestream stringify


【解决方案1】:

看起来回调函数不起作用 - 必须与导入约束有关。

因此,这是可行的

module.exports = (webpackConfigEnv, argv) => {
  let obj = {};
  fs.writeFileSync('test.txt', JSON.stringify(obj));
}

另外,根据文档:https://webpack.js.org/configuration/configuration-types/ promises 应该可以工作。

module.exports = async (webpackConfigEnv, argv) => {
  let obj = {};
  await fs.promises.writeFile('test.txt', JSON.stringify(obj));
}

【讨论】:

    猜你喜欢
    • 2020-08-20
    • 1970-01-01
    • 2019-11-04
    • 1970-01-01
    • 1970-01-01
    • 2019-12-22
    • 2019-10-09
    • 1970-01-01
    • 2019-01-09
    相关资源
    最近更新 更多