In no particular order
https://github.com/tmeasday/unofficial-meteor-faq
https://github.com/meteor/meteor/wiki/Getting-Started-with-Auth
| Package.describe({ | |
| summary: "Moment.js packaged for Meteor" | |
| }); | |
| Package.on_use(function (api, where) { | |
| where = where || ['client', 'server']; | |
| api.add_files('lib/moment/moment.js', where); | |
| }); |
From Meteor's documentation:
In Meteor, your server code runs in a single thread per request, not in the asynchronous callback style typical of Node. We find the linear execution model a better fit for the typical server code in a Meteor application.
This guide serves as a mini-tour of tools, trix and patterns that can be used to run async code in Meteor.
Sometimes we need to run async code in Meteor.methods. For this we create a Future to block until the async code has finished. This pattern can be seen all over Meteor's own codebase:
| 13:25 deberg: [17:21:57] hey, i just saw your question. | |
| 13:25 eiki: [17:22:17] great - any ideas? | |
| 13:25 deberg: [17:22:19] the thing to use is futures. | |
| 13:25 eiki: [17:22:36] what's the difference? | |
| 13:25 eiki: [17:22:45] and do you know of any sample code? | |
| 13:25 deberg: [17:23:02] yeah, one place to look is the meteor HTTP package. | |
| 13:25 deberg: [17:23:11] packages/http/httpcall_server.js:64 | |
| 13:25 deberg: [17:23:39] this is the basic pattern for wrapping a node callback. | |
| 13:25 eiki: [17:24:09] https://github.com/meteor/meteor/blob/master/packages/http/httpcall_server.js#L65 | |
| 13:25 deberg: [17:24:35] you want to declare a new future, call future.return() inside the callback, and block the outer caller (your method) with future.wait(). |
| AWSSum = { | |
| load: function(module) { | |
| var awssum = NodeModules.require('awssum'); | |
| return awssum.load(module); | |
| }, | |
| loadSyncInterface: function(module, className) { | |
| // Get a reference to the original interface | |
| var interface = AWSSum.load(module)[className]; |
| (function() { | |
| var firstBlood = true; | |
| Template.foof.moof = function() { | |
| if (firstBlood) { | |
| firstBlood = false; | |
| doShitFirstTimeAround(); | |
| } else{ |
| { | |
| "meteor": { | |
| "branch": "auth", | |
| "patches": [ | |
| "https://github.com/meteor/meteor/pull/334.patch" | |
| ] | |
| }, | |
| "packages": {} | |
| } |
| > mrt -p 5555 ~/work/m/tmp/js-yaml 1.9.3p0 | |
| Stand back while Meteorite does it's thing | |
| Installing Meteor | |
| branch: https://github.com/meteor/meteor.git#master | |
| Installing smart packages |