本文整理汇总了TypeScript中http-proxy-middleware.default函数的典型用法代码示例。如果您正苦于以下问题:TypeScript default函数的具体用法?TypeScript default怎么用?TypeScript default使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了default函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1:
add : (app, middleware) => {
app.use(c2k(proxy(
config.apiPrefixes,
{
target: `http://localhost:${config.serverPort + 1}`,
secure: false,
},
) as NextHandleFunction))
app.use(c2k(history({
index : `${config.serverIndex}`,
verbose: false,
}) as NextHandleFunction))
middleware.webpack()
// middleware.content()
},
示例2: getApp
export function getApp(options: ServerOptions): express.Express {
options = applyDefaultServerOptions(options);
// Preload the h2-push manifest to avoid the cost on first push
if (options.pushManifestPath) {
getPushManifest(options.root, options.pushManifestPath);
}
const root = options.root || '.';
const app = express();
app.use(compression());
if (options.additionalRoutes) {
options.additionalRoutes.forEach((handler, route) => {
app.get(route, handler);
});
}
const componentUrl = options.componentUrl;
const polyserve = makeApp({
componentDir: options.componentDir,
packageName: options.packageName,
root: root,
headers: options.headers,
});
const filePathRegex: RegExp = /.*\/.+\..{1,}$/;
if (options.proxy) {
if (options.proxy.path.startsWith(componentUrl)) {
console.error(`proxy path can not start with ${componentUrl}.`);
return;
}
let escapedPath = options.proxy.path;
for (let char of ['*', '?', '+']) {
if (escapedPath.indexOf(char) > -1) {
console.warn(
`Proxy path includes character "${char}"` +
`which can cause problems during route matching.`);
}
}
if (escapedPath.startsWith('/')) {
escapedPath = escapedPath.substring(1);
}
if (escapedPath.endsWith('/')) {
escapedPath = escapedPath.slice(0, -1);
}
const pathRewrite = {};
pathRewrite[`^/${escapedPath}`] = '';
const apiProxy = httpProxy(`/${escapedPath}`, {
target: options.proxy.target,
changeOrigin: true,
pathRewrite: pathRewrite
});
app.use(`/${escapedPath}/`, apiProxy);
}
const forceCompile = options.compile === 'always';
if (options.compile === 'auto' || forceCompile) {
app.use('*', injectCustomElementsEs5Adapter(forceCompile));
app.use('*', babelCompile(forceCompile, options.componentUrl));
}
app.use(`/${componentUrl}/`, polyserve);
// `send` expects files to be specified relative to the given root and as a
// URL rather than a file system path.
const entrypoint =
options.entrypoint ? urlFromPath(root, options.entrypoint) : 'index.html';
app.get('/*', (req, res) => {
pushResources(options, req, res);
const filePath = req.path;
send(req, filePath, {root: root, index: entrypoint})
.on('error',
(error: send.SendError) => {
if ((error).status === 404 && !filePathRegex.test(filePath)) {
// The static file handling middleware failed to find a file on
// disk. Serve the entry point HTML file instead of a 404.
send(req, entrypoint, {root: root}).pipe(res);
} else {
res.statusCode = error.status || 500;
res.end(error.message);
}
})
.pipe(res);
});
return app;
}
示例3: debug
import debug from 'debug';
import express from 'express';
import serveStatic from 'serve-static';
import httpProxy from 'http-proxy-middleware';
import history from 'connect-history-api-fallback';
import { CONFIG } from '@eng/config';
const logger = debug('eng:prod:server');
const app = express();
const apiProxy = httpProxy({
target: CONFIG.API_TARGET,
changeOrigin: true,
pathRewrite: { [`^${CONFIG.API_PREFIX}`]: '' },
secure: false,
});
app.set('port', process.env.PORT || 5000);
app.use(history());
app.use(serveStatic('dist'));
app.use(`${CONFIG.API_PREFIX}/**`, apiProxy);
app.listen(app.get('port'), (err: any) => {
if (err) {
logger(err);
}
示例4: httpProxyMiddleware
Object.keys(httpProxyConfig).forEach(context => {
const target = httpProxyConfig[context];
expressApp.use(context, httpProxyMiddleware(context, { target }));
});
示例5: getApp
export function getApp(options: ServerOptions): express.Express {
options = applyDefaultServerOptions(options);
// Preload the h2-push manifest to avoid the cost on first push
if (options.pushManifestPath) {
getPushManifest(options.root, options.pushManifestPath);
}
const root = options.root || '.';
const app = express();
if (options.additionalRoutes) {
options.additionalRoutes.forEach((handler, route) => {
app.get(route, handler);
});
}
const componentUrl = options.componentUrl;
const polyserve = makeApp({
componentDir: options.componentDir,
packageName: options.packageName,
root: root,
headers: options.headers,
});
options.packageName = polyserve.packageName;
const filePathRegex: RegExp = /.*\/.+\..{1,}$/;
if (options.proxy) {
if (options.proxy.path.startsWith(componentUrl)) {
console.error(`proxy path can not start with ${componentUrl}.`);
return;
}
let escapedPath = options.proxy.path;
for (let char of ['*', '?', '+']) {
if (escapedPath.indexOf(char) > -1) {
console.warn(
`Proxy path includes character "${char}" which can cause problems during route matching.`);
}
}
if (escapedPath.startsWith('/')) {
escapedPath = escapedPath.substring(1);
}
if (escapedPath.endsWith('/')) {
escapedPath = escapedPath.slice(0, -1);
}
const pathRewrite = {};
pathRewrite[`^/${escapedPath}`] = '';
const apiProxy = httpProxy(`/${escapedPath}`, {
target: options.proxy.target,
changeOrigin: true,
pathRewrite: pathRewrite
});
app.use(`/${escapedPath}/`, apiProxy);
}
if (options.compile === 'auto' || options.compile === 'always') {
app.use('*', babelCompile(options.compile === 'always'));
}
app.use(`/${componentUrl}/`, polyserve);
app.get('/*', (req, res) => {
pushResources(options, req, res);
const filePath = req.path;
send(req, filePath, {root: root})
.on('error',
(error: send.SendError) => {
if ((error).status === 404 && !filePathRegex.test(filePath)) {
send(req, '/', {root: root}).pipe(res);
} else {
res.statusCode = error.status || 500;
res.end(error.message);
}
})
.pipe(res);
});
return app;
}