Я начинаю с Node и Typescript, и у меня есть вопрос.
У меня есть эти 2 файла.
server.ts
import express = require('express');
import IConfiguration from "../config/config";
export default class Server {
public app: express.Application;
public configuration: IConfiguration;
constructor( configuration: IConfiguration ) {
this.configuration = configuration;
this.app = express();
}
static init(configuration: IConfiguration) {
return new Server(configuration);
}
start(callback: Function) {
this.app.listen(this.configuration.port, callback());
this.app.use(express.static(this.configuration.public_path))
}
}
index.ts
import Server from './server/server';
import Configuration from "./config/config";
import * as dotenv from 'dotenv';
import router from './router/router';
//Loading .env file
dotenv.config();
//Init config
const configuration = Configuration.init();
//Init server
const server = Server.init(configuration);
server.app.use(router);
server.start(() => {
console.log('Server running at port ' + configuration.port);
});
В index.ts у меня есть обратный вызов app.listen при запуске, но я не знаю, как написать эту обработку ошибок для захвата ошибок. Как я могу добавить этот .on ("error") в мою функцию обратного вызова?
server.start(() => {
console.log('Listening on port: ', port);
}).on('error', (e) => {
console.log('Error happened: ', e.message)
});
Я пытался поместить это в свой index.ts, но получаю такую ошибку: «Свойство 'on' не существует по типу 'void' "