FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

スクリプトをローカルでテストする

f:id:mbaasdevrel:20171212211252p:plain

スクリプトを開発する際、ローカルで手軽にテストできると開発がスムーズに進むでしょう。その際に使える環境として、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);

このようにすれば、ローカル環境でも自作のコードからスクリプトが自由に呼び出せます。

まとめ

なお、プロトコルやポートの指定はデータストアや認証などのスクリプト以外の機能も影響を受けてしまうので注意してください。利用はあくまでもスクリプトだけを実行する場合に限定されます。

一定のワークフローの中でスクリプトを呼び出す場合のテストにちょうど良いのでお試しください。

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。