本文へジャンプします。

ニフクラ ユーザーガイド

スクリプト:Node.jsスクリプトの作成

スクリプト作成時の注意事項につきましては、技術仕様をご確認ください。

スクリプトは必ず関数でmodule.exportsでモジュールとして提供してください。
また、関数は引数として、request, responseの2つを受け取ります。

module.exports = function(req, res){
  if(req.headers.flg === 1){
    res.send("hello");
  }else{
    res.json({"greeting": "hello"});
  }
};

スクリプト内で使用できるrequestとresponseのプロパティは以下の通りです。

requestオブジェクトのプロパティ

名前 説明
request.query クエリストリングで渡されたパラメーターのオブジェクト。
request.body リクエストボディで渡されたパラメータのオブジェクト(MethodがPOST / PUTの場合のみ)。
request.headers リクエストヘッダーのオブジェクト。
request.header(key) keyで指定されたリクエストヘッダーの値を返す。
request.get(key) keyで指定されたリクエストヘッダーの値を返す。
request.url APIリクエスト時のURL。
request.method APIリクエスト時のメソッド。

responseオブジェクトのプロパティ

名前 説明
response.set(key, value) 引数として渡された値をレスポンスヘッダに追加。
request.get(key) keyで指定されたレスポンスヘッダーの値を返す。
response.status(status) 引数として渡された数値をステータスコードとして指定。
response.send(data) 引数として渡された文字列をレスポンスボディとして返却。
response.json(data) 引数として渡されたJSONをレスポンスボディとして返却。

スクリプトをローカル環境でデバッグする

Node.jsがインストールされている環境で、スクリプトをデバッグする方法について解説していきます。

Node.jsで実装されているExpressフレームワークを利用して、簡単なWebサーバーを作成し、そこにデバッグするスクリプトを組み込んでいきます。

新しくNode.jsのプロジェクト用のディレクトリを用意し、以下のpackage.jsonを作成してnpm installコマンドを実行してください。
expressとbody-parserモジュールは必須ですが、それ以外の依存モジュールについては、こちらで使用できるモジュールを確認しつつ、必要なものをインストールしてください。

{
  "name": "ScriptSample",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Your name",
  "license": "Apache License 2.0",
  "dependencies": {
    "express": "^4.13.4",
    "body-parser": "^1.14.2",
    "ncmb": "2.1.1",
    "superagent": "2.0.0"
  }
}

index.jsを作成し、同じ場所にデバッグするスクリプトを用意してください。

//index.js

//expressとbody-parserモジュールを読み込む
var express = require('express');
var bodyParser = require('body-parser');

var app = express();

app.use(bodyParser.json());

//デバッグするスクリプトをモジュールとして読み込む
var TestScript = require('./testScript.js');

var apiVersion = "/2015-09-01";

//読み込んだスクリプトをミドルウェアとして定義
//実際にスクリプト作成時に登録するメソッドを指定してください
app.get(apiVersion + '/testScript.js', TestScript);

//expressでサーバーを起動
app.listen(3000, function () {
    console.log('app listening on port 3000');
});

上のサンプルで読み込んでいるtestScript.jsの内容は以下の通りです。

module.exports = function(req, res){
    if(req.query.name){
        res.send('hello,' + req.query.name);
    }else{
        res.send('hello');
    }
};

node index.jsコマンドでサーバーを起動してください。

$ node index.js
app listening on port 3000

curlコマンドを利用してスクリプトを呼び出すことで、作成中のスクリプトが返す結果を受け取ることができます。

$ curl "http://localhost:3000/2015-09-01/testScript.js"
hello

推奨画面サイズ 1024×768 以上