スクリプトを開発する際、ローカルで手軽にテストできると開発がスムーズに進むでしょう。その際に使える環境として、NCMBMania/node-script-dev-env: Node.jsを使ったスクリプト機能の開発環境ですとNCMBMania/ruby-script-baseを用意していますが、実行はcurlコマンドなどを使わないといけない点が手間です。そこで、ローカルで立てているこれらの環境にJavaScript SDKからアクセスする方法を紹介します。
JavaScript SDKの初期化オプションを利用する
例えば http://localhost:3000/ でテスト環境が立ち上がっているとします。この場合、JavaScript SDKを初期化する際に次のように行います。
const applicatioinKey = 'b34...01e'; const clientKey = '489...462'; const ncmb = new NCMB(applicatioinKey, clientKey, { scriptFqdn: 'localhost', protocol: 'http:', port: 3000 });
scriptFqdnはスクリプトの実行サーバ、そしてプロトコルはデフォルトがHTTPSになっていますので、HTTPに変更します。さらにポート番号を指定して完了です。
実行側スクリプトのパス修正
node-script-dev-envの例を示します。デフォルトでは http://localhost:3000/
でスクリプトが実行できるのですが、JavaScript SDKでは次のようにスクリプトを呼び出します。
http://localhost:3000/2015-09-01/script/some.js
そこで、 index.js を修正します。
// 修正前 app.all('/', script); // 修正後 app.all('/2015-09-01/script/some.js', script);
このようにすれば、ローカル環境でも自作のコードからスクリプトが自由に呼び出せます。
まとめ
なお、プロトコルやポートの指定はデータストアや認証などのスクリプト以外の機能も影響を受けてしまうので注意してください。利用はあくまでもスクリプトだけを実行する場合に限定されます。
一定のワークフローの中でスクリプトを呼び出す場合のテストにちょうど良いのでお試しください。