[Express] Level 1: First Step

Installing Express

Let's start building our new Express application by installing Express. Type the command that installs the latest version for the 4.9 branch.

npm install express@4.9

The '@' symbol to tell the npm which express version you want to install.

 

Locations

In our app.js, require the express module and assign it to the express variable. Using the function assigned to express, create an application instance and assign it to the app variable.

var express = require('express');
var app = express();

Using our application instance, app, create a new route that accepts GETrequests on the /locations URL path and responds with an Array of city names. The city names should be Caspiana, Indigo and Paradise.

app.get('/locations', function(request, response){
    response.send(['Caspiana', 'Indigo', 'Paradise']);
});

Finally, bind our application to port 3001 and once it's ready to receive requests, print the string "Running Express" to the console.

app.listen(3001, function(){
    console.log("Running Express");
});

 

var express = require('express');
var app = express();

app.get('/locations', function(request, response){
    response.send(['Caspiana', 'Indigo', 'Paradise']);
});

app.listen(3001, function(){
    console.log("Running Express");
});

 

Content Type I

When we run our previous code and issue a GET request to the /locations endpoint, what will the Content-Type header for the response be set to?

Answer: application/json

 

Content Type II

If we were to craft a response sending a string of text with the response.send()function, just like the following code, what would Express set this Content-Type to?

app.get('/locations', function(request, response) {
    var cities = '<ul><li>Caspiana</li><li>Indigo</li><li>Paradise</li></ul>';
    response.json(cities);
  });

Answer: text/html

 

Cities

In order to better reflect the domain of our application, we want to change our existing route from /locations to /cities.

First, change our existing route from /locations to /cities.

Now create a new route for /locations.

Now redirect from /locations to /cities path using the Moved Permanently HTTP status code (free hint for you, the code for that is 301).

var express = require('express');
var app = express();

app.get('/cities', function (request, response) {
  var cities = ['Caspiana', 'Indigo', 'Paradise'];
  response.send(cities);
});

app.get('/locations', function(request, response){
    response.redirect(301, '/cities');
});

app.listen(3001, function () {
  console.log("Running Express");
});

 

posted @ 2014-12-03 18:14  Zhentiw  阅读(340)  评论(0编辑  收藏  举报