Для справки, вот набор решений задач 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]);