LoopBack 3.x Framework

3.28.0 · maintenance · verified Tue Apr 21

LoopBack 3.x is an open-source Node.js framework designed for rapidly creating dynamic end-to-end REST APIs with minimal coding. It facilitates data access from a wide array of databases, including Oracle, MySQL, PostgreSQL, MS SQL Server, and MongoDB, and supports incorporating complex model relationships and robust access controls. The framework also offers built-in services for mobile application development, such as push notifications, geolocation, and file storage. The current stable version for LoopBack 3 is 3.28.0, but it is in Maintenance LTS (Long Term Support) mode, having passed its official End-Of-Life (EOL) in December 2020. Consequently, only critical bugs and security fixes are provided for this version, and users are strongly encouraged to migrate to LoopBack 4, which represents the actively developed and supported iteration of the framework. LoopBack 3 applications are typically built using its collection of Node.js modules, Yeoman generators for scaffolding, and client SDKs.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart initializes a basic LoopBack 3.x application, sets up the server to listen on a port, and defines a simple root endpoint. It demonstrates the fundamental structure of a LoopBack 3 `server.js` file, using `loopback` and `loopback-boot` to start the application.

const loopback = require('loopback');
const boot = require('loopback-boot');
const path = require('path');

const app = module.exports = loopback();

app.start = function() {
  // Start the web server
  return app.listen(function() {
    app.emit('started');
    const baseUrl = app.get('url').replace(/\/$/, '');
    console.log('Web server listening at: %s', baseUrl);
    if (app.get('loopback-component-explorer')) {
      const explorerPath = app.get('loopback-component-explorer').mountPath;
      console.log('Browse your REST API at %s%s', baseUrl, explorerPath);
    }
  });
};

// Bootstrap the application (configures models, datasources, middleware)
boot(app, __dirname, function(err) {
  if (err) throw err;

  // Start the server if `$ node server.js` is run directly
  if (require.main === module) {
    app.start();
  }
});

// Example: Define a simple root endpoint
app.get('/', (req, res) => {
  res.send('LoopBack 3.x application is running!');
});

view raw JSON →