You can use globals
to to do this. Initialize it somewhere in, or from, your initial code (top of app.js maybe - or whatever Sails runs from when you 'lift', as I think they call it).
globals.Q = require('q);
See the node doc on globals.
Of course, you are either accessing it as (e.g.)
var deferred = globals.Q.defer();
which feels clunky to me. Or,
var Q = globals.Q;
var deferred = Q.defer();
which doesn't really save you more than a few keystrokes over the require
approach, in that you still need to explicitly make it available via the simple variable name.
But those are your options. You could also create some kind of common module that loads all your globals, e.g. consider a common.js
module.exports = { Q: require('q'),
util: require('util') };
And then in another file, you can just include them all at once.
var c = require('../path/to/common');
var deferred = c.Q.defer();