MeteorJS + npm:找不到模块'node-xmpp'

时间:2014-06-08 16:24:49

标签: javascript node.js meteor 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 个答案:

答案 0 :(得分:0)

使用Meteor.require()而不是Npm.require()。

var xmpp = Meteor.require('node-xmpp');

在npm包doc(http://meteorhacks.com/complete-npm-integration-for-meteor.html)中找到的解释:

  

通常使用Npm.require()加载核心npm模块,但是为了从packages.json加载模块,你需要使用Meteor.require()