Во-первых, Счастливого Рождества всем онлайн-людям в настоящее время ...
Я учусь переписывать некоторый базовый код с ES5 на ES6 ..
Базовый сервер Node.js Express, написанный на ES5 js
ES5
/* eslint-disable no-console */
var express = require('express');
var router = require('./routes');
var app = express();
app.use(router);
var server = app.listen(3000, function () {
var port = server.address().port;
console.log('Example app listening on port %s!', port);
});
module.exports = server;
работает нормально!
Теперь япереписал его, используя ES6 js
ES6
/* eslint-disable no-console */
import express from 'express';
import router from './routes';
const app = express();
app.use(router);
app.listen(3000, function () {
var port = app.address().port; ??
console.log('Example app listening on port %s!', port);
});
export default app;
при запуске, я получаю ошибку ..
app.address is not a function
Но если я изменюблок app.listen, затем он работает нормально ... в чем проблема с app.address ()?
ES6
/* eslint-disable no-console */
import express from 'express';
import router from './routes';
const app = express();
app.use(router);
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
export default app;