Для справки, вот набор решений задач 1, 2, 4, 6, 7 и 8 для Учебника Expressworks. Мне было поручено представиться на серверах Express и Node.

Для начала убедитесь, что у вас установлен Node.JS.

Создайте новый файл js с именем program.js, затем запустите:

npm install --save expressworks

Как только вы это сделаете, вы можете просто запустить его с помощью:

expressworks

Чтобы протестировать свои решения:

expressworks run program.js

А чтобы «ОТПРАВИТЬ» или проверить свое решение:

expressworks verify program.js

Надеюсь, это полезный учебник и список решений. Я действительно написал это как ссылку для себя, но я надеюсь, что это будет полезно для других.

P.S. В полном восторге от саундтрека к фильму Драйв, выполняя эти задания!

/// HELLO WORLD Challenge 1 ///
var express = require('express');
var app = express();
app.get('/home', function(request, response){
 response.end('Hello World!');
});
app.listen(process.argv[2])

— — — — — — — — — — — — — — — — — — — — — — — — — — — -

/// STATIC Challenge 2 ///
var express = require('express');
var app = express();
app.use(express.static(process.argv[3] || path.join(__dirname, 'public')));
app.listen(process.argv[2]);

— — — — — — — — — — — — — — — — — — — — — — — — — — — —

/// GOOD OLD FORM Challenge 4 ///
var express = require('express');
var app = express();
var bodyparser = require('body-parser')
app.use(bodyparser.urlencoded({extended: false}))
app.post('/form', function(request, response){
 var string = request.body.str.split('').reverse().join('');
 response.send(string);
});

— — — — — — — — — — — — — — — — — — — — — — — — — — —

/// PARAM PAM PAM Challenge 6 ///
var express = require('express');
var app = express();
app.put('/message/:id', function(req, res){ 
 var hash = require('crypto').createHash('sha1').update(new Date().toDateString() + req.params.id).digest('hex');
 res.send(hash);
});

— — — — — — — — — — — — — — — — — — — — — — — — — — — —

/// WHAT'S IN QUERY Challenge 7 ///
var express = require('express');
var app = express();
app.get('/search', function(request, response){
 response.send(request.query);
});
app.listen(process.argv[2]);

— — — — — — — — — — — — — — — — — — — — — — — — — — — — -

/// JSON ME Challenge 8 ///
var express = require('express');
var app = express();
var fs = require('fs');
app.use(express.static(process.argv[3] || path.join(__dirname, 'public')));
app.get('/books', function(req, res){
 var object;
 fs.readFile(process.argv[3], function(err, data){
  res.json(JSON.parse(data));
 });
});
app.listen(process.argv[2]);