Node.jsでXMLHttpRequestを使う

わざわざNode.jsでXMLHttpRequestを使わなくてもいいかもしれないけど、使えた方が都合のいい場合もあるわけで、使えるようにするためのWindows環境での手順。 Node.jsをインストールしたデフォルトの状態ではXMLHttpRequestを使おうとすると下のようなエラーになる。
ReferenceError: XMLHttpRequest is not defined
必要なパッケージをインストールするためにnpmコマンドを使う。Node.jsをインストールしたらいっしょにインストールされているはずなので、一応、下のコマンドでバージョンが表示できるか確かめてみる。
--version または -vC:\>npm --version
3.10.3
パッケージをインストールするnpm installコマンドには、ローカルインストールとグローバルインストールがあるが、グローバルの方が都合よさそうなので今回は-gオプションを付けてグローバルインストールにした。デフォルトでは以下のフォルダのnode_modulesフォルダにインストールされる。
入力コマンドは1行目のみ。2-3行目はnpmコマンドの出力。C:\>npm install -g xmlhttprequest
C:\Users\[ユーザー名]\AppData\Roaming\npm
`-- xmlhttprequest@1.8.0
xmlhttprequest1
エクスプローラで確認すると確かにインストールされているのが分かる。
使用する場合は、こんな感じ。
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var xhr = new XMLHttpRequest();