Node - grundkoden för vår första applikation: Skillnad mellan sidversioner

Från Webbling
Hoppa till: navigering, sök
Ingen redigeringssammanfattning
Ingen redigeringssammanfattning
Rad 3: Rad 3:
Så här ser vår <code>app-js</code> ut ifrån början:
Så här ser vår <code>app-js</code> ut ifrån början:


<syntaxhighlight lang="javascript" linenumbers>
<syntaxhighlight lang="javascript" linenumbers="1">
var express = require('express');
var express = require('express');
var path = require('path');
var path = require('path');

Versionen från 4 januari 2016 kl. 16.55

Vi ska börja att titta på innehållet i vår app.js-fil. Det är rätt mycket kod här. I alla fall om man betänker att app:en bara skriver ut ett par rader text. Dock så är detta kod som är själva grunden som behövs för alla appar som bygger på Express. Så vi kommer inte att behöva lägga till så mycket till den oavsett hur stor eller liten vår slutliga app blir.

Så här ser vår app-js ut ifrån början:

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');

var routes = require('./routes/index');
var users = require('./routes/users');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', routes);
app.use('/users', users);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
  var err = new Error('Not Found');
  err.status = 404;
  next(err);
});

// error handlers

// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
  app.use(function(err, req, res, next) {
    res.status(err.status || 500);
    res.render('error', {
      message: err.message,
      error: err
    });
  });
}

// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
  res.status(err.status || 500);
  res.render('error', {
    message: err.message,
    error: {}
  });
});

module.exports = app;

Pust, det var en hel del kod! Låt oss gå igenom den och försöka få klarhet i vad saker och ting gör...