Load a Sails app into memory, but without lifting an HTTP server.
Useful for writing tests, command-line scripts, and scheduled jobs.
sailsApp.load(configOverrides, function (err) {
});
Or:
sailsApp.load(function (err) {...});| Argument | Type | Details | |
|---|---|---|---|
| 1 | configOverrides | A dictionary of config that will override any conflicting options present in configuration files.  If provided, this will be merged on top of sails.config. | 
| Argument | Type | Details | |
|---|---|---|---|
| 1 | err | An error encountered while loading, or undefined if there were no errors. | 
var Sails = require('sails').constructor;
var sailsApp = new Sails();
sailsApp.load({
  log: {
    level: 'error'
  }
}, function (err) {
  if (err) {
    console.log('Error occurred loading Sails app:', err);
    return;
  }
  // --•
  console.log('Sails app loaded successfully!');
});
- This takes care of loading configuration files, initializing hooks (including the ORM), and binding routes. It does not run the bootstrap, and it does not start listening for HTTP requests and WebSocket connections.
 - More specifically, the difference between
 .lift()and.load()is that.lift()takes the additional steps of (1) running the app's bootstrap (if any), and (2) emitting thereadyevent. The corehttphook will typically respond to thereadyevent by starting an HTTP server on the port configured viasails.config.port(1337 by default).- Even though a "loaded-but-not-lifted" Sails app does not listen for requests on an HTTP port, you can make "virtual" requests to it using
 sails.request- For an example of this in practice, see machine-as-script.
 - With the exception of
 NODE_ENVandPORT, configuration set via environment variables will not automatically apply to apps started using.load(), nor will options set in.sailsrcfiles. If you wish to use those configuration values, you can retrieve them viarequire('sails/accessible/rc')('sails')and pass them in as the first argument to.load().