[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"); });
相关文章
- C# EntityFramework Code First 迁移 降级 回退到空数据库
- Entity Framework Code First实体对象变动跟踪
- First Missing Positive
- 《Ext JS 4 First Look》翻译之一:新特性
- 《Ext JS 4 First Look》翻译之三:布局
- [Javascript] Create Your First Iterator in JavaScript
- [Algorithm] Breadth First JavaScript Search Algorithm for Graphs
- [RxJS] Filtering operators: take, first, skip
- RxJava【过滤】操作符 filter distinct throttle take skip first MD
- [Express] Level 1: First Step
- [Backbone] First Application!!!!
- [EF]vs15+ef6+mysql code first方式
- 【Python Django2.0入门教程】ORM之QuerySet 数据查询API:all get filter distinct first last count
- Atitit 2016 技术趋势与没落技术 目录 1.1. 离线优先Web应用程序(Offline first web applications)1 1.2. 依照产品而不是项目(product
- 关于 Head First SQL 中文版
- C# ORM—Entity Framework 之Database first(数据库优先)&Model First(模型优先)(一)
- 如何获得<div id=”div1”>This is first layer</div>中的值?
- error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)