Преглед изворни кода

fix: relative paths in index.html + PREVIEW_BASE_PATH in vite.config.js

- Changed index.html paths from absolute (/src/...) to relative (./src/...)
  so browser resolves them correctly under /ads-preview/ base URL
- Set base: process.env.PREVIEW_BASE_PATH in vite.config.js for @vite/client injection
- Removed --base CLI flag (now handled by config file via env var)
guoziyun пре 3 недеља
родитељ
комит
b5e67f954b

+ 3 - 3
platform/server/dist/services/previewService.js

@@ -53,14 +53,14 @@ async function startPreview(creativeId, theme, storageDir) {
     const configContent = (0, configGenerator_1.generateAdConfig)({ creativeId, theme, storageDir });
     const configPath = path_1.default.join(TEMPLATE_DIR, "src", "filler", "_ad_config_.ts");
     fs_1.default.writeFileSync(configPath, configContent, "utf-8");
-    // 4. 通过 --base CLI 参数传入 base 路径,确保 Vite dev server 和 HTML 注入都使用正确前缀
-    //    注意:nginx 必须配合去掉 proxy_pass 尾部斜杠,保持 /ads-preview/ 前缀不变
+    // 4. 启动 Vite dev server
+    //    base 路径通过 PREVIEW_BASE_PATH 环境变量传入 vite.config.js
+    //    注意:nginx proxy_pass 不能有尾部斜杠,以保留 /ads-preview/ 前缀
     const previewBase = process.env.PREVIEW_BASE_PATH || "/";
     console.log(`[preview] Starting Vite dev server on port ${PREVIEW_PORT} (base: ${previewBase})...`);
     viteProcess = (0, child_process_1.spawn)(path_1.default.join(TEMPLATE_DIR, "node_modules", ".bin", "vite"), [
         "--port", String(PREVIEW_PORT),
         "--strictPort",
-        "--base", previewBase,
     ], {
         cwd: TEMPLATE_DIR,
         env: {

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
platform/server/dist/services/previewService.js.map


+ 3 - 3
platform/server/src/services/previewService.ts

@@ -53,15 +53,15 @@ export async function startPreview(
   const configPath = path.join(TEMPLATE_DIR, "src", "filler", "_ad_config_.ts");
   fs.writeFileSync(configPath, configContent, "utf-8");
 
-  // 4. 通过 --base CLI 参数传入 base 路径,确保 Vite dev server 和 HTML 注入都使用正确前缀
-  //    注意:nginx 必须配合去掉 proxy_pass 尾部斜杠,保持 /ads-preview/ 前缀不变
+  // 4. 启动 Vite dev server
+  //    base 路径通过 PREVIEW_BASE_PATH 环境变量传入 vite.config.js
+  //    注意:nginx proxy_pass 不能有尾部斜杠,以保留 /ads-preview/ 前缀
   const previewBase = process.env.PREVIEW_BASE_PATH || "/";
 
   console.log(`[preview] Starting Vite dev server on port ${PREVIEW_PORT} (base: ${previewBase})...`);
   viteProcess = spawn(path.join(TEMPLATE_DIR, "node_modules", ".bin", "vite"), [
     "--port", String(PREVIEW_PORT),
     "--strictPort",
-    "--base", previewBase,
   ], {
     cwd: TEMPLATE_DIR,
     env: {

+ 3 - 3
templates/coloring/index.html

@@ -4,15 +4,15 @@
     <meta charset="UTF-8" />
     <title>Coloring Page Paint On Line | Coloring Game</title>
 
-    <script type="module" src="/src/filler/index.ts"></script>
+    <script type="module" src="./src/filler/index.ts"></script>
     <meta
       name="viewport"
       content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1"
     />
 
-    <link rel="stylesheet" href="/assets/css/tools.css" type="text/css" />
+    <link rel="stylesheet" href="./assets/css/tools.css" type="text/css" />
 
-    <link rel="stylesheet" href="/assets/css/loading.css" type="text/css" />
+    <link rel="stylesheet" href="./assets/css/loading.css" type="text/css" />
   </head>
 
   <body>

+ 2 - 0
templates/coloring/vite.config.js

@@ -43,6 +43,8 @@ module.exports = defineConfig(({ mode }) => {
   const outDir = output ? `dist/${output}` : "dist";
 
   return {
+    // 预览模式下通过 PREVIEW_BASE_PATH 设置 base 路径,如 /ads-preview/
+    base: process.env.PREVIEW_BASE_PATH || undefined,
     plugins: [viteSingleFile(), finalizeHtmlPlugin(outDir, adapter)],
     server: {
       allowedHosts: ["color2.jccytech.cn", "localhost", ".jccytech.cn"],

Неке датотеке нису приказане због велике количине промена