Because LoopBack is built on Express, you can add custom routes just as you do in Express.
In this part of the tutorial, you're going to add a new custom route.
Get the app (in the state following the last article) from GitHub and install all its dependencies:
$ git clone https://github.com/strongloop/loopback-getting-started.git $ cd loopback-getting-started $ git checkout step4 $ npm install
Introducing boot scripts
When a LoopBack application starts (or "bootstraps"), it runs the scripts in the /server/boot
directory, known as boot scripts. By default, LoopBack loads boot scripts in alphabetical order.
The standard scaffolded LoopBack application created by the application generator contains the following standard boot scripts (in /server/boot
) that perform basic initialization:
authentication.js
- Enables authentication for the application by callingapp.enableAuth()
.explorer.js
- Enables API Explorer. Delete or change the extension of this file to disable API Explorer.rest-api.js
- Exposes the application's models over REST usingloopback.rest()
middleware.
For more information on boot scripts, see 定义启动脚本(boot script).
Add a new boot script
For example, add a new boot script named routes.js
in /server/boot
directory, with this code:
module.exports = function(app) { // Install a "/ping" route that returns "pong" app.get('/ping', function(req, res) { res.send('pong'); }); }
As an aside, you could have just as well used Express router middleware instead, like this:
module.exports = function(app) { var router = app.loopback.Router(); router.get('/ping', function(req, res) { res.send('pongaroo'); }); app.use(router); }
In fact you can also add routes right in sever.js
using the Express API. For example, add this call to app.use()
just before the call to app.start()
:
... app.use('/express-status', function(req, res, next) { res.json({ running: true }); }); // start the server if `$ node server.js` if (require.main === module) { app.start(); }
The point is that a LoopBack application can easily do all the things that an Express application can. If you're familiar with Express, this will make LoopBack easier to learn and use.
Run the boot script
Now, run the application again:
$ slc run
Load http://0.0.0.0:3000/ping. You'll see "pong" as the response.