2016-04-22 23 views
0

YAMLファイルを書き込むためにjavascriptを使用していますが、無効です。YAMLファイルの改行

私は1つの文字列は、\ nは改行を使用して、それを書いている:

'dir: ./_data/'+language+'\npath: '+options.path+'\nname: work' 

私の質問があり、これはYAMLファイルでVARS間を破るための正しい方法は何ですか?それは検証されていないようです。

+0

私には妥当性があります。どのバリデーターを使用していますか? – zb226

+0

http://www.yamllint.com/ – panthro

+0

yamllint.comはYAML 1.1を遵守しています。そのバージョンは2009年にYAML 1.2に置き換えられました.YAML 1.1を明示的に書かない限り、検証はお勧めしません。あなたがそうすることを指示する指示)。 – Anthon

答えて

2

languageとoptions.path変数が何であるか分からずに言うのは難しいです。

この:

dir: ./_data/some_language 
path: some_options.path 
name: work 

は、ファイルの末尾に改行を持っていない場合でも、有効なYAMLである(私はあなたの文字列の末尾に\nを置くことをお勧めします)。

しかし、変数options.path*で始まる場合、未定義のエイリアスについてエラーが発生します。その値に:(コロン+スペース)が含まれていると、エラーも発生します(マッピング値は許可されません)。

また、最初のキー(dir)の前にスペースがあると、エラーが発生します。

は、だから、 正しいYAMLを生成することがありましたが、それは 変数の値に応じて、無効なYAMLを生成することがあります。しかし、改行は正しい場所にあります。