web-dev-qa-db-ja.com

Meteorでnpmを介してノードモジュールをどのように使用できますか?

Meteor でnpmを介してノードモジュールをどのように使用できますか?

それとも、パッケージに依存するものですか [〜#〜] api [〜#〜]

または、推奨される規定の方法はありますか?

47
Steeve Cannon

Meteor 1. は2016年3月28日にリリースされ、アプリに完全なES6(ES2015)モジュールのサポートを提供し、追加設定なしのNPMサポートを提供します。アプリとパッケージは、NPMモジュールをクライアントとサーバーに直接かつ簡単にロードできるようになりました。

1.3を使用できる場合は、 http://guide.meteor.com/using-packages.html#installing-npm を確認してください。

たとえば、moment.jsを使用するには:

_meteor npm install --save moment
_

次に、コードで:

_import moment from 'moment';

// this is equivalent to the standard node require:
const moment = require('moment');
_

古いバージョンのMeteorを使用する必要がある場合は、以下の残りの回答をお読みください。


Meteor 1.3より前

v0.6.0以降、MeteorはNPMモジュールと直接統合されます サードパーティパッケージの助けを借りて。たとえば、 ws のようなモジュールを使用するには、

  1. _Sudo npm install -g ws_を実行します(またはローカルインストールの場合は this を参照)
  2. サーバーのJavaScriptファイルで、

    _var Websocket = Npm.require('ws');
    var myws = new Websocket('url');
    _

コアNodeモジュールを使用するには、対応するNpm.require()を呼び出します(例:var Readable = Npm.require('stream').Readable)。


Arunodaによって開発された NPMパッケージ のおかげで、Meteorで 230,000 NPMモジュール 以上の任意のものを直接使用できます。

スマートパッケージからNpmパッケージへの依存関係を定義することもできます-npmサポートの 最初の発表 から:

スマートパッケージは、_Npm.depends_に_package.js_への呼び出しを追加することで、依存関係を直接定義できるようになりました。

_Npm.depends({
  "awssum": "0.12.2",
  "underscore.string": "2.3.1"
});
_

これはすべて、他のMeteorと同様に、ホットコードのリロードでうまく機能します。変更を加えると、バンドラーは不足しているnpmパッケージを自動的にダウンロードし、その依存関係を固定します。

サーバーコード内でNPMモジュールを使用するには、通常のrequireを使用するのと同じように_Npm.require_を使用します。特に、___meteor_bootstrap__.require_は削除され、その使用法はすべて_Npm.require_に変換されました。

アプリケーションでNPMモジュールを使用する小さな例 があります。

45
Dan Dascalescu

この回答は、2013年4月にリリースされ、直接npm統合が追加された0.6.0より前のバージョンのMeteorに適用されることに注意してください。

通常どおりnpmを使用してモジュールをインストールし、次に使用します

var require = __meteor_bootstrap__.require,
    pd = require("pd"),
    after = require("after") // etc

必要なモジュールをロードします

21
Raynos

私はこれについてMeteorpediaで完全な記事を書きました:

http://www.meteorpedia.com/read/npm

この記事では、アプリとパッケージの両方でnpmを使用する方法、および通常のコールバックとイベントエミッターコールバックをラップしてMeteorとFibersで適切に機能するための一般的なパターンについて説明し、Arunodaの非同期ユーティリティと追加リソースへの参照を含めます。

6
gadicc

Meteor Npm パッケージを使用できます

meteor add meteorhacks:npm

次に、packages.json NPMモジュールの情報を含む、プロジェクトのルートディレクトリのファイル。

{
    "redis": "0.8.2",
     "github": "0.1.8"
}

次に(サーバー側)と同じくらい簡単

var github = Meteor.npmRequire("github");
var redis = Meteor.npmRequire("redis");

したがって、Meteor.npmRequireの代わりにrequire

6
Akshat

Meteor 0.6.5でこれを行う方法の要点を書きました、Node.js npmsをMeteor.jsプロジェクトに追加する方法

1
kenyee