Meteor Fan (日本語情報)

JavaScriptフレームワークMeteorに関していろいろ紹介する日本語情報サイト

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を使うこともできるでしょう。

おまけ

クライアントサイドで使いたい場合は、こちらも試してみるとよさそうです。