2015-06-13 3 views
1

У меня есть метод Метеор, который я определил только в папке server.require не определен в методе Метеор на стороне сервера?

сервер/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 

Uhhh. .. не знаю, почему это происходит. Если я открою Meteor Shell, я могу настроить консоль log require просто отлично.

+1

что вы пытаетесь сделать? почему бы не использовать объект HTTPS? Если вы должны включить npm-пакеты, то посмотрите миллион и один вопрос о том, как требовать пакеты npm в meteor (т. Е. Использовать пакет npm). –

+0

Я думаю, что код требует намного более чистого чтения и записи, чем напрямую с помощью HTTPS-объекта. Но да, я просто Googled, и, оказывается, мне нужно использовать пакет атмосферы npm. Ба. – fuzzybabybunny

ответ

1

Если вы имеете в виду HTTPS из ядра узла, вы можете требовать его от метеора с:

var https = Npm.require('https'); 

без необходимости установки каких-либо дополнительных пакетов. Любой модуль в ядре узла может потребоваться таким образом на сервере.

+0

Я очень злюсь на Метеор за это. Иногда вам нужен локальный файл, а не пакет NPM. – Andy

Смежные вопросы