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()

Другие вопросы по тегам