node.jsのファイルに文字列の内容を書き込もうとしています
いくつかの raml ファイルがあり、それらに参加できます。変数をコンソールに出力すると、よく解析されていることがわかりますが、ファイルに保存するとすぐに、ファイルには 1 行しか含まれていません。
var raml = require('raml-parser');
var fs = require('fs');
var path = require('path');
var os = require('os')
path.join(__dirname, './')
raml.loadFile('schema.raml').then( function(data) {
console.log(data);
var filePath = "schema.raml";
fs.unlinkSync(filePath);
fs.writeFile("./new.raml", JSON.stringify(data).replace('/\n', os.EOL), function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
});
}, function(error) {
console.log('Error parsing: ' + error);
});
ファイル内のすべての「\n」を変更するために、置換 EOL を追加しました。それを削除すると、ファイルの行末に「\n」が含まれます。
コンソールでの出力は次のとおりです。
{ title: 'RAML Flattener',
baseUri: 'http://github.com/joeledwards/node-flat-raml',
version: '1',
mediaType: 'application/json',
protocols: [ 'HTTP' ],
resources:
[ { relativeUri: '/base',
methods: [Object],
resources: [Object],
relativeUriPathSegments: [Object] } ] }