第一次尝试将节点模块与meteor一起使用
安装:
meteor add meteorhacks:npm
然后安装:
npm install multer
在服务器目录中有一个单独的文件,名为" loadMulter"只有这一行:
var multer = Meteor.npmRequire('multer');
现在,跑步" meteor"并收到此错误:
W20150609-12:22:56.528(-5)? (STDERR)
W20150609-12:22:56.528(-5)? (STDERR) /home/eugene/.meteor/packages/meteor-tool/.1.1.3.4sddkj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:245
W20150609-12:22:56.529(-5)? (STDERR) throw(ex);
W20150609-12:22:56.529(-5)? (STDERR) ^
W20150609-12:22:56.531(-5)? (STDERR) ReferenceError: require is not defined
W20150609-12:22:56.531(-5)? (STDERR) at app/node_modules/multer/node_modules/busboy/node_modules/dicer/node_modules/streamsearch/lib/sbmh.js:5:20
W20150609-12:22:56.531(-5)? (STDERR) at app/node_modules/multer/node_modules/busboy/node_modules/dicer/node_modules/streamsearch/lib/sbmh.js:215:3
W20150609-12:22:56.531(-5)? (STDERR) at /home/eugene/dev/meteor/socially/.meteor/local/build/programs/server/boot.js:222:10
W20150609-12:22:56.531(-5)? (STDERR) at Array.forEach (native)
W20150609-12:22:56.532(-5)? (STDERR) at Function._.each._.forEach (/home/eugene/.meteor/packages/meteor-tool/.1.1.3.4sddkj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11)
W20150609-12:22:56.532(-5)? (STDERR) at /home/eugene/dev/meteor/socially/.meteor/local/build/programs/server/boot.js:117:5
将这些东西组合在一起的正确方法是什么?
答案 0 :(得分:3)
请勿使用npm
将node_module
个软件包安装为本地npm install
。
您需要在添加package.json
并启动Meteor后创建的名为meteorhacks:npm
的特殊文件中指定所需的包。
{
"multer": "0.1.8"
}
答案 1 :(得分:1)
您无法在Meteor应用中运行npm install multer
。
正确的方法是:
meteor add meteorhacks:npm
在顶级目录中创建文件packages.json
,内容为:
{
"multer": "0.1.8"
}
运行meteor
,NPM软件包将自动安装
Meteor.npmRequire
注意:请务必删除先前npm install
创建的node_modules文件夹。