我有一个 Meteor Method,仅在 server
文件夹中定义。
server/methods.js
Meteor.methods({
locationInfoByZipcode: function(zipcode){
check(zipcode, String);
var https = require('https');
},
});
我在客户端调用它:
Meteor.call("locationInfoByZipcode", "94043", function(error, response){
console.log(error);
console.log(response);
});
这是服务器控制台中的错误:
I20150612-19:48:28.092(-7)? Exception while invoking method 'locationInfoByZipcode' ReferenceError: require is not defined
I20150612-19:48:28.092(-7)? at [object Object].Meteor.methods.locationInfoByZipcode (app/server/meteor_methods.js:109:15)
I20150612-19:48:28.092(-7)? at maybeAuditArgumentChecks (packages/ddp/livedata_server.js:1617:1)
I20150612-19:48:28.092(-7)? at packages/ddp/livedata_server.js:648:1
I20150612-19:48:28.092(-7)? at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20150612-19:48:28.093(-7)? at packages/ddp/livedata_server.js:647:1
I20150612-19:48:28.094(-7)? at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20150612-19:48:28.094(-7)? at [object Object]._.extend.protocol_handlers.method (packages/ddp/livedata_server.js:646:1)
I20150612-19:48:28.094(-7)? at packages/ddp/livedata_server.js:546:1
呃...不知道为什么会发生这种情况。如果我打开 Meteor Shell,我可以很好地控制台日志 require
。
最佳答案
如果您指的是HTTPS从 Node 核心,您可以通过以下方式从 meteor 请求它:
var https = Npm.require('https');
无需安装任何额外的软件包。服务器上可以通过这种方式请求 Node 核心中的任何模块。
关于node.js - require 没有在服务器端 Meteor 方法中定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30814626/