我跟着GitHub的meteorirc項目的首席,並把它們在/公/我們把npm安裝在Meteor項目中的節點模塊放在哪裏?
我安裝我的節點模塊通過NPM從內部/公共/,所以我有一個/公/ node_modules /目錄。
我不認爲這對他們來說是「適當的」或「標準」的地方,因爲根據流星文檔...
流星收集所有的JavaScript文件,但不包括 客戶端下的任何公共子目錄,並將其加載到服務器的Node.js實例 光纖
加載在服務器目錄和服務器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');
}
根據文檔,這不是標準的,我不認爲我應該這樣做。然而,它可以在我的開發平臺和部署meteor.com的生產環境中使用。
如果項目的目錄結構中應安裝節點模塊,以便它們可以在本地工作,並且可以在meteor.com或其他地方部署?
請注意,如果您使用此解決方案通過部署功能部署到meteor.com,則節點模塊將不會部署。此解決方案適用於本地開發,或者在您自己的流星部署(如AWS等)上安裝節點模塊。如果您正在部署到meteor.com使用(此解決方案)。[http://stackoverflow.com/questions/10476170/how-can-i-deploy-node-modules-in-a-meteor-app-on-meteor -com] –
關於/ usr/local vs/usr/lib詢問後續問題已發佈:[我應該在/ usr/lib還是/usr/local?](http://stackoverflow.com中)安裝Meteor的npm模塊/ q/14304639/16308) – Rahul
這不適用於MacOS X 10.9.1和最新的流星(0.7.0.1)..無論我在哪裏安裝,仍無法找到SOAP模塊。嘗試了應用程序目錄(導致錯誤),嘗試了上面的建議,並試圖用-g ..安裝模塊都沒有用。 – redcap3000