The core features of Express.js are:
1. Routing: Express.js provides a robust set of features for routing requests from clients to the server. For example, you could create a route to handle GET requests for a specific URL, or create a route to handle POST requests to a specific URL.
2. Middleware: Express.js provides a powerful set of middleware functions that can be used to modify requests and responses before they are handled by your application. For example, you could use middleware to add authentication or logging to your application.
3. Templating: Express.js provides an easy way to render HTML pages based on data from the server. For example, you could use a templating engine such as Jade or Handlebars to render a page with dynamic data.
4. Database Integration: Express.js provides easy integration with popular databases such as MongoDB, MySQL, and PostgreSQL. For example, you could use the Mongoose library to connect to a MongoDB database and query for data.
5. Error Handling: Express.js provides an easy way to handle errors in your application. For example, you could use the Express error handler middleware to catch errors and display a custom error page.