Meteorアプリでnpmを使う方法
本記事はMeteor v1.1時代のものです。今後の新しいバージョンでは推奨の方法が変わるかもしれません。
Npm.require
Meteorではnpmを使ってパッケージを利用する方法が公式に用意されています。
http://docs.meteor.com/#/full/Npm-require
しかし、このNpm.require
はMeteorパッケージの中でしか使うことができません。Meteorパッケージをアプリ内で作ることは比較的容易ですし、モジュール化できるためおすすめなのですが、1つのnpmパッケージを使うためだけにMeteorパッケージを作成するのは少し手間と感じることがあります。
meteorhacks:npm
そこで、Npm.require
を汎用的に呼び出せるMeteorパッケージが公開されています。
https://atmospherejs.com/meteorhacks/npm
これを使うとMeteorパッケージで数ファイル用意しなければならないことが1行でできるようになります。
使い方
インストール方法は、
meteor add meteorhacks:npm
です。使いたいnpmパッケージをpackages.jsonに書きます。”s”を忘れずに。例えば、githubを使いたい場合には下記のようにします。
{
"github": "0.2.4"
}
あとはMeteorのサーバサイドのコードで次のようにすることでロードできます。
var Github = Meteor.npmRequire('github');
非同期処理をfibersで同期的に使うためには、Meteor.wrapAsyncを使いましょう。もしくは、meteorhacks:npmに用意されているAsync Utilitiesを使うこともできるでしょう。
おまけ
クライアントサイドで使いたい場合は、こちらも試してみるとよさそうです。