簡単なデータを保存するためにjsonドキュメントを保持し、このドキュメントを必要とし、define()
呼び出しでjsonオブジェクトを使用して使用できるようにします。これは「非同期」呼び出しではありません。開発用のはずですが、コンテンツが動的であるAPIからの実際の非同期呼び出しとは異なり、ビルド時にファイルをコンパイルしたいと思います。
これを行う最も簡単な方法は、requirejs jsonプラグインを使用することです。これにより、ファイルをビルドに含めることもできます。
https://github.com/millermedeiros/requirejs-plugins
例を次に示します。
require(['json!someFile.json'], function(data){
...
})
// It does not actually need to be a .json extension, this will work to:
require(['json!someFile'], function(data){
...
})
ファイルをr.jsビルドに含めて、main/js bootstrapファイルで常に最適化されるようにする場合は、includeオプションに追加する必要があります
このためにrequire js textプラグインを使用することもできます。通常はテンプレートファイルの読み込みに使用されますが、.jsonファイルの読み込みにも使用できます。
https://github.com/requirejs/text
JSON.parse
を使用して、自分のコンテンツを解析する必要があります
(含める json2.js 必要に応じて古いブラウザーのサポートを提供する)
Jsonを独自のdefine()でラップすることもできます。これにより、従来のように単に要求することができますが、実際の.json
ファイルに制限されている場合は機能しません。
もう1つのオプションは、jqueryなどを使用して、テキストファイルを自分のajax経由で要求することです。
$.get('somefile.json', function(data) {
// do something with your data
});
これを回答として投稿する理由:
RequireJSにはJSONプラグインがあります。構文は単純です:
require(['json!someData.json'], function(data){
...
})