3

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] } ] }
4

1 に答える 1