Node.js での実行
Kii Cloud SDK for JavaScript は Node.js でも利用可能です。
まず、開発環境に Node.js をインストールしてください。実行環境でも Node.js が必要です。
サーバー機能拡張 で Kii Cloud SDK for JavaScript を利用する場合、このページの情報は該当しません。ブラウザー上に SDK をそのまま組み込んだ場合と同じスタイルで実装してください。
Node.js の利用形態
Node.js は様々な使い方ができますが、Kii Cloud では以下の 2 通りの利用形態を想定しています。実装方法そのものは、いずれの場合も同じです。
- ブラウザー向けの JavaScript ファイルを生成する - これは、Node.js をブラウザー向けのビルド環境として利用する方法です。 - Node.js には、ライブラリーを名前空間の衝突なしに利用する仕組みがあります。 - requireや- exportsによって、様々なライブラリーやモジュールを混乱なく組み込むことができます。- 最終的に、作成したソースを webpack や Browserify を使ってビルドすれば、ブラウザー上で動作する JavaScript ファイルを生成できます。 
- JavaScript コードを実行する - これは、Node.js を JavaScript コードの実行環境として利用する方法です。 - 特に、IoT ソリューションの Thing 側を JavaScript で実装する場合、Thing 上に Node.js をインストールして JavaScript の実行エンジンとして Node.js を利用します。Thing での利用方法は、JavaScript SDK で Thing を実装 をご覧ください。 
Node.js を使ってブラウザー用の JavaScript ファイルを生成する方法や、Node.js 上で JavaScript ファイルを実行する方法は Kii Cloud 外の技術であるため、Web 上の一般的な技術情報をご覧ください。
SDK パッケージのインストール
以下の手順に従いプロジェクトを設定します。
- Node.js 上でプロジェクトを準備します。 - 事前に Node.js 上で開発プロジェクト用のディレクトリを作成し、 - npm initで package.json を生成しておきます。また、Web アプリの開発に使用するフレームワークなどを組み込み、"Hello World" 的なプログラムが動作する状態にしておきます。- Kii Cloud SDK の組み込みを行う前に、この時点での動作を確認しておくことをおすすめします。 
- プロジェクトにライブラリーを組み込みます。 - Kii Cloud SDK for JavaScript のライブラリーを追加します。 - $ npm install kii-cloud-sdk --save- 実行すると、npm コマンドによって package.json の "dependencies" に以下の 1 行が追加されます。 - "dependencies": { ... "kii-cloud-sdk": "^XX.XX.XX", ... }- XX.XX.XXは最新版のバージョンが埋め込まれます。- npm view kii-cloud-sdk versionsを実行してバージョンを確認することもできます。- ここでは、先頭にキャレット - ^を付けて "^XX.XX.XX" のように指定されているため、次回の npm install や npm update で SDK の更新が自動的に取り込まれます。予期しない更新を避けたい場合は、キャレットを削除してバージョンを固定することもできます。
インストール完了後、プロジェクトのディレクトリー内にある node_modules ディレクトリーに kii-cloud-sdk が、さらにその内部の階層に依存ライブラリーのディレクトリー xmlhttprequest が作成されます。
SDK モジュールの読み込みと初期化
アプリのスクリプトの冒頭に以下の内容を追加して kii-cloud-sdk モジュールの読み込みと初期化を行います。
var kii = require('kii-cloud-sdk').create();
kii.Kii.initializeWithSite("___APPID___", "___APPKEY___", kii.KiiSite.JP);
___APPID___ には開発者ポータルにて取得した AppID を、___APPKEY___ には任意の値を設定してください。
webpack がビルドエラーになる場合
Kii Cloud SDK for JavaScript と require を組み込んだ後、webpack を使ってブラウザー用の JavaScript ファイルを作成しようとすると、エラーが発生する場合があります。
XMLHttpRequest.js で Cannot resolve module 'child_process'、Cannot resolve module 'fs' エラーになる場合は、webpack.config.js に以下の externals からの 3 行を追加してください。
module.exports = [
  {
    ......
    externals:[{
      xmlhttprequest: '{XMLHttpRequest:XMLHttpRequest}'
    }],
    ......
  }
]
利用可能な機能
JavaScript SDK のほぼ全ての機能が利用可能ですが、以下の制限があります。
- Node.js で JavaScript コードを実行する場合、Object body のアップロードおよびダウンロードは利用できません。ただし、Node.js でビルドした JavaScript ファイルをブラウザー上で実行する場合は利用できます。 
- Node.js ではモジュールごとに独立したスコープを持つため、クラス名や定数名の呼び方に注意が必要です。一例として上記のサンプルコードでは - var kii = require('kii-cloud-sdk').create();で SDK モジュールを読み込んでいるため、以後 SDK が提供するメソッドや定数を参照する際に- kii.を先頭につけています(例:- kii.Kii.initializeWithSite、- kii.KiiSite.JP)