我在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)
答案 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()