@x-9lab/xlab 1.2.1-alpha.1 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -168,6 +168,8 @@ declare global {
168
168
  indexPageCacheTime?: number;
169
169
  /**静态资源缓存时间 */
170
170
  staticResourceCacheTime?: number;
171
+ /**是否允许静态资源跨域访问 */
172
+ staticCros?: boolean;
171
173
  }
172
174
  /**业务错误数据对象 */
173
175
  interface ICodeItem {
package/README.md CHANGED
@@ -178,6 +178,7 @@ X-9lab 通用服务端
178
178
  |debug|`boolean`|false|是否开启 debug 模式|
179
179
  |staticMaxage|`number`|1800000|静态文件缓存时间|
180
180
  |staticHtmlFileMaxage|`number`|0|静态 html 文件缓存时间|
181
+ |staticCros|`boolean`|false|是否允许静态资源跨域访问|
181
182
  |enableComboCache|`boolean`|true|是否开启 Combo 缓存|
182
183
  |enableCron|`boolean`|false|是否开启定时任务|
183
184
  |middleware|`Array<string | (string | Record<string, any>)[]>`|[]|开启的中间件列表。因不方便合并替换,v1.1.0 开始建议使用 `middlewares` 来配置 |
@@ -19,6 +19,7 @@ const _utils = require("@x-drive/utils");
19
19
  const _nodeFetchWarper = require("@x-drive/node-fetch-warper");
20
20
  const _resolveUri = /*#__PURE__*/ _interopRequireDefault(require("./resolve-uri"));
21
21
  const _common = require("../common");
22
+ const _util = require("util");
22
23
  function _interopRequireDefault(obj) {
23
24
  return obj && obj.__esModule ? obj : {
24
25
  default: obj
@@ -120,7 +121,7 @@ const DEF_CONFIG = {
120
121
  }
121
122
  return null;
122
123
  } catch (e) {
123
- reqLog.error(e);
124
+ reqLog.error((0, _util.inspect)(e));
124
125
  if (retry && retry > 0) {
125
126
  if ((0, _utils.isNumber)(config.retryDelay) && config.retryDelay > 0) {
126
127
  await (0, _common.sleep)(config.retryDelay, reqLog);
package/dist/server.js CHANGED
@@ -104,13 +104,20 @@ app.use(koaRouter.routes());
104
104
  var staticServeOpts = {};
105
105
  if (_config.default.isProd) {
106
106
  staticServeOpts.maxage = _config.default.staticMaxage;
107
- const staticHtmlFileMaxage = _config.default.staticHtmlFileMaxage;
108
- staticServeOpts.setHeaders = function(res, path) {
109
- if (staticHtmlFileMaxage && path.endsWith(".html")) {
110
- res.setHeader("Cache-Control", `max-age=${staticHtmlFileMaxage}`);
111
- }
112
- };
113
107
  }
108
+ staticServeOpts.setHeaders = function(res, path) {
109
+ if (_config.default.isProd && _config.default.staticHtmlFileMaxage && path.endsWith(".html")) {
110
+ res.setHeader("Cache-Control", `max-age=${_config.default.staticHtmlFileMaxage}`);
111
+ }
112
+ if (_config.default.staticCros) {
113
+ const { origin } = res.req.headers;
114
+ if (origin) {
115
+ res.setHeader("X-Cros-Static", origin);
116
+ res.setHeader("Access-Control-Allow-Origin", origin);
117
+ res.setHeader("Access-Control-Allow-Methods", "GET, OPTIONS");
118
+ }
119
+ }
120
+ };
114
121
  app.use((0, _koaStatic.default)(_path.default.resolve(process.cwd(), _config.default.root), staticServeOpts));
115
122
  // 异常状态处理中间件
116
123
  app.use(_badRequest.default);
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@x-9lab/xlab",
3
- "version": "1.2.1-alpha.1",
3
+ "version": "1.3.1",
4
4
  "description": "9lab 服务端模块",
5
- "versionDesc": "业务 api 文件夹支持接口级别通用中间件定义",
5
+ "versionDesc": "静态文件服务支持跨域",
6
6
  "scripts": {
7
7
  "dev": "swc src -D ./src/bin --config-file .swcrc -d dist -w",
8
8
  "compile": "swc src -D ./src/bin --config-file .swcrc -d dist",
@@ -34,7 +34,7 @@
34
34
  "http-proxy": "1.18.1",
35
35
  "koa-compress": "5.1.0",
36
36
  "@x-drive/utils": "1.1.23",
37
- "@x-drive/node-fetch-warper": "1.0.0"
37
+ "@x-drive/node-fetch-warper": "1.0.1"
38
38
  },
39
39
  "devDependencies": {
40
40
  "co": "4.6.0",