Skip to content

Commit 75a07d4

Browse files
authored
Merge pull request #4826 from easyops-cn/steve/v3-serve-app-images
fix(): support serve app images
2 parents 8b56a7a + 3a5b706 commit 75a07d4

File tree

2 files changed

+36
-1
lines changed

2 files changed

+36
-1
lines changed

packages/brick-container/serve/middlewares/getMiddlewares.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import jsYaml from "js-yaml";
2+
import { serveBricks } from "@next-core/serve-helpers";
23
import bootstrapJson from "./bootstrapJson.js";
34
import mockAuth from "./mockAuth.js";
45
import singleAppBootstrapJson from "./singleAppBootstrapJson.js";
56
import standaloneBootstrapJson from "./standaloneBootstrapJson.js";
67
import serveBricksWithVersions from "./serveBricksWithVersions.js";
7-
import { serveBricks } from "@next-core/serve-helpers";
8+
import serveAppImages from "./serveAppImages.js";
89

910
const { safeDump, JSON_SCHEMA } = jsYaml;
1011

@@ -101,6 +102,16 @@ export function getPreMiddlewares(env) {
101102
}
102103
},
103104
});
105+
106+
middlewares.push({
107+
path: `${baseHref}sa-static/${appId}/versions/0.0.0/webroot/-/images`,
108+
middleware: serveAppImages(env, appId),
109+
});
110+
111+
middlewares.push({
112+
path: `${baseHref}sa-static/${appId}/versions/0.0.0/webroot/-/micro-apps/${appId}/images`,
113+
middleware: serveAppImages(env, appId),
114+
});
104115
}
105116

106117
middlewares.push({
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import path from "node:path";
2+
import { tryServeFiles } from "@next-core/serve-helpers";
3+
4+
export default function serveAppImages({ rootDir }, appId) {
5+
/**
6+
* @param {import("express").Request} req
7+
* @param {import("express").Response} res
8+
*/
9+
return async function (req, res, next) {
10+
if (req.method !== "GET") {
11+
next();
12+
return;
13+
}
14+
15+
tryServeFiles(
16+
["mock-micro-apps", "apps"].map((folder) =>
17+
path.join(rootDir, folder, appId, "dist/images", req.path)
18+
),
19+
req,
20+
res,
21+
next
22+
);
23+
};
24+
}

0 commit comments

Comments
 (0)