Node.js写入YAML文件

Node.js写入YAML文件,node.js,module,yaml,file-writing,Node.js,Module,Yaml,File Writing,我正在使用Node.js,我很难弄清楚如何读取YAML文件,替换其中的值,并将更新后的值写入YAML文件 我目前正在使用模块“yamljs”,它允许我加载YAML文件,并且我已经设法编辑加载对象中的值 我唯一需要帮助的部分是如何写入YAML文件。 由于某些原因,我在任何地方都找不到解决方案,我甚至不确定我是否可以使用该模块来解决这个问题 该模块确实有一些命令行工具,但我也不太确定如何使用这些工具。模块“js yaml”适用于我的案例 以下是我使用的代码: const yaml = require

我正在使用Node.js,我很难弄清楚如何读取YAML文件,替换其中的值,并将更新后的值写入YAML文件

我目前正在使用模块“yamljs”,它允许我加载YAML文件,并且我已经设法编辑加载对象中的值

我唯一需要帮助的部分是如何写入YAML文件。 由于某些原因,我在任何地方都找不到解决方案,我甚至不确定我是否可以使用该模块来解决这个问题

该模块确实有一些命令行工具,但我也不太确定如何使用这些工具。

模块“js yaml”适用于我的案例

以下是我使用的代码:

const yaml = require('js-yaml');
...

let doc = yaml.safeLoad(fs.readFileSync('./Settings.yml', 'utf8'));
doc.General.Greeting = newGreet;
fs.writeFile('./Settings.yml', yaml.safeDump(doc), (err) => {
    if (err) {
        console.log(err);
    }
});

根据yamljs的文档,这是不可能的。您可以看看其他库。看起来它两者都在做(但是repo似乎没有维护,但是NPM上有很多DLL)。1)它是YAML,而不是YML,这些文件的文件扩展名/后缀应该是
。YAML
,除非您的文件系统不支持。2) 大多数YAML解析器/加载程序都会删除一些有意义的信息,例如注释、执行这种往返操作的ID(load modify save),我所知道的唯一例外是我基于Python的
ruamel.YAML
。我将尝试一下js YAML,谢谢:3@TenDRILLL你能用js yaml给yaml写信吗?是的,我只是不知道如何关闭这个lmao。你有什么设置。yml?那纽哈雷怎么样了?你为什么问?newGreet是一个由函数定义的局部变量,我的Settings.yml的结构与我的示例类似。显然,您无法复制粘贴它,但它显示了如何使用它的基本思想。