What is @types/connect-history-api-fallback?
@types/connect-history-api-fallback provides TypeScript type definitions for the connect-history-api-fallback middleware. This middleware is used in single-page applications (SPAs) to handle the fallback for HTML5 history API, ensuring that the application can handle deep links and refreshes properly by redirecting all non-API requests to the index.html file.
What are @types/connect-history-api-fallback's main functionalities?
Basic Usage
This code demonstrates the basic usage of the connect-history-api-fallback middleware in an Express application. It sets up the middleware to handle fallback for HTML5 history API and serves static files from the 'public' directory.
const history = require('connect-history-api-fallback');
const express = require('express');
const app = express();
app.use(history());
app.use(express.static('public'));
app.listen(3000, () => {
console.log('Server running on port 3000');
});
Custom Options
This code demonstrates how to use the connect-history-api-fallback middleware with custom options. The 'index' option specifies the fallback file, and the 'verbose' option enables logging of the rewrite process.
const history = require('connect-history-api-fallback');
const express = require('express');
const app = express();
const options = {
index: '/index.html',
verbose: true
};
app.use(history(options));
app.use(express.static('public'));
app.listen(3000, () => {
console.log('Server running on port 3000');
});
Other packages similar to @types/connect-history-api-fallback
serve-static
serve-static is a middleware for serving static files in an Express application. While it does not provide HTML5 history API fallback functionality, it is often used in conjunction with connect-history-api-fallback to serve static files after handling the fallback.
express-history-api-fallback
express-history-api-fallback is another middleware that provides similar functionality to connect-history-api-fallback. It is specifically designed for use with Express and offers a similar API for handling HTML5 history API fallbacks.
Installation
npm install --save @types/connect-history-api-fallback
Summary
This package contains type definitions for connect-history-api-fallback (https://github.com/bripkens/connect-history-api-fallback#readme).
Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/connect-history-api-fallback.
import { Url } from "url";
import * as core from "express-serve-static-core";
export = historyApiFallback;
declare function historyApiFallback(options?: historyApiFallback.Options): core.RequestHandler;
declare namespace historyApiFallback {
interface Options {
readonly disableDotRule?: true | undefined;
readonly htmlAcceptHeaders?: ReadonlyArray<string> | undefined;
readonly index?: string | undefined;
readonly logger?: typeof console.log | undefined;
readonly rewrites?: ReadonlyArray<Rewrite> | undefined;
readonly verbose?: boolean | undefined;
}
interface Context {
readonly match: RegExpMatchArray;
readonly parsedUrl: Url;
readonly request: core.Request;
}
type RewriteTo = (context: Context) => string;
interface Rewrite {
readonly from: RegExp;
readonly to: string | RegExp | RewriteTo;
}
}
Additional Details
Credits
These definitions were written by Douglas Duteil.