私はいくつかの種類のテキストメタデータを追加し、このメタデータを別のnode.jsアプリケーションから読み込むために必要ないくつかのnode.jsスクリプトファイルを用意しています。 私はそうのようにコメントしYAMLヘッダを使用しようとしました:yamlヘッダーのnode.jsファイル
//app.js
var frontMatter = require('yaml-front-matter')
var results = frontMatter.loadFront('someScript.js');
しかし、「結果」は「_content」キー内のすべてのコードとYAMLを返し、:その後、
//someScript.js
/**
---
Title: some script
Description: script which does some things.
Params:
-param1
-param2
---
**/
//actual script code..
とフロントの問題を使用しますyamlを適切に解析しなかった。
この要件を実装する別の方法をご存知ですか?または、問題に似た別の解決策ですか?一般的に私は、表示のためにスクリプトの名前、パラメータ、説明を取得したいと考えています。 yamlメタデータである必要はありません。テキストメタデータはすべて行いますが、別の合理的なオプションが見つかりませんでした。
ありがとうございます!
編集:私は実際にそれらを実行できるようjavascirptスクリプトファイルは有効なJavaScript構文であるべきであり、それは私がコメント
こんにちはスティーブ、YAMLコードは実行可能ではなく、ファイルの内容の残りの部分(//実際のスクリプトコード..行)。 yaml-fring-matterライブラリは、yamlがファイルの先頭に来ることを期待していますが、コメントがなくても有効なjavascriptの構文ではありません –
そうですね、この特定のライブラリではケーキを食べることができませんに。ライブラリ自体は、私たちがブログ投稿や、実行可能なコードを持たない純粋なコンテンツのように思うかもしれないものだけを解析することができます。 'safe-eval'または' vmRunInThisContent'のどちらかを使って静的コンテンツを '__content'プロパティに入れ、それが有効なJavaScript(あなたの場合は技術的にそうである)のように実行することができます。これはおそらくあなたの最善の策です。 –