2016-08-06 5 views
-1

thisノードパッケージを使用しようとしています。使用方法には、requireにJSONファイルが必要です。このような何か:ノードを使用してJSONスキーマを参照解除する

var myschema = require('schema.json'); 

しかし、私はこれを実行すると、それは「schema.json」の名前でノードパッケージを見つけたいと、「モジュールのschema.json 'が見つかりません」というエラーがスローされます。このエラーを回避するにはどうすればよいですか?

+0

'(「./ schema.json」)必要に変更し、それを;' – Hardy

答えて

0

あなたはどうなるそのライブラリをインポートするには、このようにjson-schema-deref

であるためにリンクされlibrayの名前:

var deRefLib = require('json-schema-deref') 

次に必要とあなたが使用する必要があるだろう、あなたのスキーマファイルをロードします相対パスであなたのスキーマがあなたのJSファイルと同じディレクトリにある場合は、使用します。

var mySchema = require('./schema.json') 
+0

が、それは 'JSONをrequire'に、標準的な方法であります'JSON.parse'それを読んでいるのではなくファイルですか?私はセキュリティの意味があると思います。 – qxz

+0

あなたのアプリケーションにあなたのJSON文字列を 'JSON.parse'dさせるための他の手段はありますか? 'require'ステートメントはアプリケーションのビルド/コンパイル段階で評価されるため、開発者は実行されているコード/ファイルを完全に制御できます。 –

+0

まあ、 'fs.readFile [Sync]'です。アプリケーションの起動時に「ビルド/コンパイルの段階」になっていますか?あなたはJITコンパイルを参照していますよね?そして、あなたはいつでもファイルを要求することができますが、間違っていますか? – qxz

関連する問題