UNPKG

@sheto/static

Version:

一个简单易用的前端静态网页运行工具库

57 lines (56 loc) 2.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = default_1; var logger_1 = require("../core/logger"); /** * @name 解析代理配置字符串 * @param {string} _Str 传入的代理配置 */ function ParseProxyString(_Str) { if (_Str === void 0) { _Str = '/'; } // 是否只设置了前缀 var proxyString = /^\//.test(_Str) ? "127.0.0.1".concat(_Str) : _Str; // 分割prefix和server var _a = proxyString.split(/(?<!\/)\/(?!\/)/), server = _a[0], _b = _a[1], prefix = _b === void 0 ? 'api' : _b; // 是否传递了协议 // 如果没有传递协议,默认http if (/^(http)/.test(server) === false) { server = "http://".concat(server); } return { server: server, prefix: prefix }; } /** * @param {{proxy:string}} _Config 传入的配置 */ function default_1(_Config) { var _a; // 更新参数配置 Object.assign(_Config, ParseProxyString(_Config.proxy)); try { var createProxyMiddleware = require('http-proxy-middleware').createProxyMiddleware; // 相关配置信息提示 logger_1.default.info("\u4EE3\u7406\u670D\u52A1\u542F\u52A8\u6210\u529F\uFF0C/".concat(_Config.prefix, "\u5F00\u5934\u7684\u8BF7\u6C42\u5C06\u88AB\u8F6C\u53D1\u5230").concat(_Config.server)); if (createProxyMiddleware) { return createProxyMiddleware({ target: _Config.server, changeOrigin: true, logger: logger_1.default, pathRewrite: (_a = {}, _a["^/".concat(_Config.prefix)] = '', _a) }); } } catch (_b) { var tips_1 = '如需代理,你需要自己安装代理相关依赖,npm install http-proxy-middleware -D'; // 失败后进行友情提示 logger_1.default.warn(tips_1); return function (_req, _res) { // 结束请求 _res.end(tips_1, 'utf-8'); // 进行友情提示 logger_1.default.warn(tips_1); }; } } ;