github meteorirc プロジェクトのリードに従い、それらを /public/ に配置しました
/public/内からnpmを介してノードモジュールをインストールしたため、/public/node_modules/ディレクトリがあります。
Meteorのドキュメントによると...
Meteor は、client および public サブディレクトリの下にあるものを除いて、すべての JavaScript ファイルを収集し、それらをファイバー内の Node.js サーバー インスタンスにロードします。
ロードするコードは、server dir および server js ファイルにあり、次のようになります。
var require = __meteor_bootstrap__.require;
var path = require("path");
var fs = require('fs');
var base = path.resolve('.');
if (base == '/'){
base = path.dirname(global.require.main.filename);
}
var Twit;
var twitPath = 'node_modules/twit';
var publicTwitPath = path.resolve(base+'/public/'+twitPath);
var staticTwitPath = path.resolve(base+'/static/'+twitPath);
if (path.existsSync(publicTwitPath)){
Twit = require(publicTwitPath);
}
else if (path.existsSync(staticTwitPath)){
Twit = require(staticTwitPath);
}
else{
console.log('WARNING Twit not loaded. Node_modules not found');
}
ドキュメントに基づくと、これは標準ではなく、この方法で行うべきではないと思います。それでも、私の開発プラットフォームと deploy meteor.com の本番環境の両方で動作します。
プロジェクトのディレクトリ構造のどこにノードモジュールをインストールして、ローカルで動作し、meteor.com または他の場所で展開する必要がありますか?