2015-01-16 4 views
0

Я установил meteorhacks:npm и определил apn в packages.json {"apn": "1.6.2"}. Тем не менее, я получаю ошибку ReferenceError: require is not defined когда я запускаю следующий код:Метеор: ReferenceError: требуется не определено

var apn = Npm.require('apn'), 
    path = Npm.require('path'), 
    apnOptions = Meteor.settings.apnOptions || {}, 
    alertSound = apnOptions.sound || "alert.aiff", 
    apnConnection 

// default apn connection options 
apnOptions = _.extend({ 
    cert: path.join(appRootPath, "private", "cert.pem"), 
    key: path.join(appRootPath, "private", "key.pem"), 
}, apnOptions) 
apnConnection = new apn.Connection(apnOptions) 

Полное сообщение об ошибке:

W20150116-23:30:51.097(2)? (STDERR)   
W20150116-23:30:51.100(2)? (STDERR) /Users/Mika/.meteor/packages/meteor-tool/.1.0.38.zbazwc++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:173 
W20150116-23:30:51.101(2)? (STDERR)       throw(ex); 
W20150116-23:30:51.101(2)? (STDERR)        ^
W20150116-23:30:51.101(2)? (STDERR) ReferenceError: require is not defined 
W20150116-23:30:51.102(2)? (STDERR)  at app/node_modules/apn/lib/connection.js:1:49 
W20150116-23:30:51.102(2)? (STDERR)  at app/node_modules/apn/lib/connection.js:774:3 
W20150116-23:30:51.106(2)? (STDERR)  at /Users/Mika/Devaus/meteor/flashcards/.meteor/local/build/programs/server/boot.js:175:10 
W20150116-23:30:51.107(2)? (STDERR)  at Array.forEach (native) 
W20150116-23:30:51.107(2)? (STDERR)  at Function._.each._.forEach (/Users/Mika/.meteor/packages/meteor-tool/.1.0.38.zbazwc++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11) 
W20150116-23:30:51.107(2)? (STDERR)  at /Users/Mika/Devaus/meteor/flashcards/.meteor/local/build/programs/server/boot.js:86:5 

Мой репозиторий https://github.com/mvaisanen/flashcards

ответ

1

Использование Meteor.npmRequire InstEd из Npm.require для пакетов, загруженных через meteorhacks:npm. Например:

var apn = Meteor.npmRequire('apn'); 
var path = Npm.require('path'); 

Также обратите внимание, что требование пакета НПМ будет работать только на сервере, поэтому убедитесь, что код находится в вашем /server каталоге или охраняются Meteor.isServer.

+0

Не имеет значения. По-прежнему такая же ошибка. – Mika

+0

Можете ли вы добавить код в филиал в своем репо, чтобы я мог видеть все это? –

+0

Конечно. Я просто сделал фиксацию. Я просто решил проблему, но я все еще не знаю, как работают push-уведомления. Ничего не происходит, когда я создаю и запускаю его на xcode. Он даже не просит включить push-уведомления. – Mika

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