16

YAMLファイルからJavascriptにパラメーターを読み込もうとしています。これを行うのに適したライブラリはありますか?

私はこれらのライブラリを試しました:https ://github.com/nodeca/js-yamlおよびhttp://code.google.com/p/javascript-yaml-parser/

ただし、どちらのライブラリにも、.ymlまたは.yamlファイルから直接解析するのではなく、文字列として指定されたときにYAMLを解析する関数しかありません。ファイルからYAMLを読み取り、それらをJSオブジェクトに変換するパーサーはありますか?

4

3 に答える 3

14

ブラウザからjs-yamlを使用する良い例を見つけるのは難しいようでした。おそらく、node.jsでのパーサーの使用を強調しているためです。

パーサーはhttps://github.com/nodeca/js-yamlにあります。NPMを使用してインストールします

npm install js-yaml

そして、node_modules / js-yaml/binディレクトリからjs-yaml.jsファイルを取得します。

これは、YAMLファイルをロードし、js-yamlを使用してオブジェクトに解析し、(検証のために)ネイティブJSON.stringifyを実行してJSONを文字列に変換し、最後にjquery$.parseJSONを使用する簡単なデモです。結果のJSONを検証します。

(function () {
"use strict";
    $(document).ready(function () {
        $.get('/common/resources/LessonContentsLv01Ln01.yml')
        .done(function (data) {
          console.log('File load complete');
          console.log(jsyaml.load(data));
          var jsonString = JSON.stringify(data);
          console.log(jsonString);
          console.log($.parseJSON(jsonString));
      });
    });
}());

そしてHTML

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Read YAML</title>
                 <script src="//code.jquery.com/jquery-2.1.0.js">
        </script><script src='/vendor/js/js-yaml.js'>
        </script><script src='/test/readYaml.js'>
    </script>
</head>
<body>
</body>
</html>

Githubリポジトリhttps://github.com/nodeca/js-yaml

于 2014-03-26T20:08:10.410 に答える
13

js-yamlはそうします。JavaScriptのファイルからの読み取りは、ブラウザーからではなく、node.js(またはそのようなもの)を使用してサーバー側で行われるため、「nodejsyaml」をグーグルで検索してこれを見つけました。

js-yamlのREADMEが始まります

使用法:js-yaml [-h] [-v] [-c][-j][-t]ファイル

位置論:

fileYAMLドキュメントを含むファイル

これは、ファイルから直接YAMLを処理するという非常に強力な証拠です。

于 2012-12-09T07:04:27.007 に答える
1

Webブラウザーで解析する場合は、解析するyamlファイルをscriptタグでロードし、jsコードを使用してそのコンテンツを読み取ることができます。これにより、文字列の結果が得られます。また、nodejs環境でyamlを解析する場合は、ファイルを直接読み取り、文字列を取得することもできます。これは、yamlを直接解析したり、文字列からyamlを解析したりすることによる問題ではないと思います。

于 2012-12-09T11:35:05.727 に答える