MeteorJS + npm: не удается найти модуль 'node-xmpp'
Я следовал этому руководству на http://meteorhacks.com/complete-npm-integration-for-meteor.html о том, как использовать пакеты npm с метеором. Теперь у меня есть это
packages.json
{
"node-xmpp": "0.10.0"
}
server.js
var xmpp = Npm.require('node-xmpp');
.meteor / пакеты
standard-app-packages
accounts-ui
accounts-github
insecure
accounts-base
accounts-password
npm
Но я продолжаю получать это, когда я запускаю сервер W20
140608-11:58:32.132(-4)? (STDERR) Error: Cannot find module 'node-xmpp'
W20140608-11:58:32.132(-4)? (STDERR) at Function.Module._resolveFilename (module.js:338:15)
W20140608-11:58:32.132(-4)? (STDERR) at Function.Module._load (module.js:280:25)
W20140608-11:58:32.132(-4)? (STDERR) at Module.require (module.js:364:17)
W20140608-11:58:32.132(-4)? (STDERR) at require (module.js:380:17)
Есть идеи?
@ChristianFritz, при запуске npm install node-xmpp из корневого каталога приложения создается \node_modules. Когда я запускаю сервер, метеор взрывается, потому что считает, что это обычные файлы приложения.
=> Errors prevented startup:
While building the application:
node_modules/node-xmpp/node_modules/browserify/node_modules/insert-module-globals/node_modules/browserify/node_modules/insert-module-globals/node_modules/lexical-scope/node_modules/astw/node_modules/esprima-six/demo/collector.html:1: Can't set DOCTYPE here. (Meteor sets <!DOCTYPE html> for you)
1 ответ
Используйте Meteor.require() вместо Npm.require().
var xmpp = Meteor.require('node-xmpp');
Объяснение можно найти в документе пакета npm ( http://meteorhacks.com/complete-npm-integration-for-meteor.html):
Обычно вы загружаете основные модули npm с помощью Npm.require(), но для загрузки модулей из вашего package.json вам нужно использовать Meteor.require()