Registry / web-framework / loopback

loopback

JSON →
library0.0.2jsnpmunverified

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.

npm install loopback
INSTALL
IMPORT
SIG · LOOPBACK
L
loopback
web-frameworkjavascriptv0.0.2
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

loopback
const loopback = require('loopback');
import loopback from 'loopback';
LoopBack 3.x primarily uses CommonJS module syntax due to its release era. The 'loopback' object is the primary entry point for the framework.
app.Model
const MyModel = loopback.Model.extend('MyModel', { /* ... */ });
import { Model } from 'loopback';
The base Model class is accessed as a property of the main `loopback` application object, not as a direct named export.
app.boot
const boot = require('loopback-boot'); boot(app, __dirname, function(err) { /* ... */ });
loopback.boot(app, __dirname);
Application bootstrapping is handled by the separate `loopback-boot` package, which takes the main `loopback` app instance as an argument.

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!'); });
Debug
Known issues
deprecatedLoopBack 3.x is in Maintenance LTS mode and has passed its End-Of-Life (EOL) date in December 2020. It receives only critical bug fixes and security patches. New feature development and active support have ceased.
fix
Plan and execute migration of applications to LoopBack 4, which is the current and actively developed version of the framework. Refer to the official migration guide at `loopback.io/doc/en/lb4/migration-overview.html`.
affects: >=3.0.0
breakingThe `loopback-datasource-juggler` package, which is core to LoopBack's data handling, was moved from `peerDependencies` to `dependencies` in LoopBack 3.0. This might affect existing project setups that relied on `peerDependencies` behavior.
fix
Ensure `loopback-datasource-juggler` is correctly listed as a direct dependency in your `package.json` and installed via `npm install` or `yarn add`.
affects: >=3.0.0
breakingMajor breaking changes exist between LoopBack 2.x and 3.0. These include API changes, configuration updates, and dependency shifts requiring careful migration.
fix
Thoroughly review the LoopBack 3.0 Release Notes and Migration Guide at `loopback.io/doc/en/lb3/3.0-Release-Notes.html` and `loopback.io/doc/en/lb3/Migrating-to-3.0.html` before upgrading.
affects: >=3.0.0
gotchaOlder versions of LoopBack 3.x had a bug in `User.prototype.verify` that incorrectly concatenated query-string components, potentially leading to malformed verification links or unexpected redirect behavior.
fix
Upgrade to the latest available patch version of LoopBack 3.x (e.g., 3.28.1 or higher) to ensure `querystring.stringify` is correctly used for link generation.
affects: <=3.28.0
Errors
Common errors & fixes
Error: Cannot find module 'loopback-datasource-juggler'
The core `loopback-datasource-juggler` package is missing from your project's `node_modules`.
fix
Install it explicitly: `npm install loopback-datasource-juggler` or ensure it's in your `package.json` dependencies and run `npm install`.
TypeError: app.boot is not a function
You are attempting to call `app.boot` directly, but `boot` is a function exported by the separate `loopback-boot` package, not a method on the `loopback` app object.
fix
Ensure `loopback-boot` is installed (`npm install loopback-boot`) and then require and use it: `const boot = require('loopback-boot'); boot(app, __dirname, callback);`
Access to XMLHttpRequest at 'http://localhost:3000/api/models' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Cross-Origin Resource Sharing (CORS) is not properly configured or enabled on your LoopBack API server, preventing requests from different origins.
fix
Enable CORS middleware in your `server.js` or `middleware.json` by adding `app.use(loopback.cors());` or configuring it in `middleware.json`.
Upgrade
Version history
0.0.2latest on npm
Audit
Dependencies
loopback-datasource-jugglerrequiredCore dependency for connecting to data sources and defining models; moved from peerDependencies to direct dependencies in LoopBack v3.
Agent activity
11 hits · last 30 days
node
10
OpenAI (training)
1
Resources