Browse Source

fix: 预览文件改为复用第一个平台产物,避免默认构建 emptyOutDir 覆盖平台输出

guoziyun 3 tuần trước cách đây
mục cha
commit
c286c68a98

+ 1 - 1
platform/server/dist/services/buildService.d.ts.map

@@ -1 +1 @@
-{"version":3,"file":"buildService.d.ts","sourceRoot":"","sources":["../../src/services/buildService.ts"],"names":[],"mappings":"AAIA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAOtC,qBAAa,YAAY;IAIX,OAAO,CAAC,EAAE;IAAqB,OAAO,CAAC,UAAU;IAH7D,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,OAAO,CAAS;gBAEJ,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAU,UAAU,EAAE,MAAM;IAErE,OAAO,CACL,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EAAE,EACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,IAAI;YAOO,YAAY;YAaZ,KAAK;IA2FnB,OAAO,CAAC,YAAY;YAmBN,aAAa;IAmB3B,OAAO,CAAC,SAAS;CAwBlB"}
+{"version":3,"file":"buildService.d.ts","sourceRoot":"","sources":["../../src/services/buildService.ts"],"names":[],"mappings":"AAIA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAOtC,qBAAa,YAAY;IAIX,OAAO,CAAC,EAAE;IAAqB,OAAO,CAAC,UAAU;IAH7D,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,OAAO,CAAS;gBAEJ,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAU,UAAU,EAAE,MAAM;IAErE,OAAO,CACL,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EAAE,EACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,IAAI;YAOO,YAAY;YAaZ,KAAK;IAyFnB,OAAO,CAAC,YAAY;YAkBN,aAAa;IAmB3B,OAAO,CAAC,SAAS;CAwBlB"}

+ 6 - 9
platform/server/dist/services/buildService.js

@@ -68,15 +68,13 @@ class BuildService {
                 await this.runViteBuild(platform);
                 await this.collectOutput(buildOutputDir, platform, results);
             }
-            // 5. 构建默认产物(无 --mode,用于真机扫码测试)
-            console.log(`[build] Building default for preview...`);
-            await this.runViteBuild("default", "");
-            const defaultDist = path_1.default.join(TEMPLATE_DIR, "dist", "index.html");
+            // 5. 复制预览产物(用第一个平台的输出即可,供真机扫码测试)
+            const previewSrc = path_1.default.join(TEMPLATE_DIR, "dist", platforms[0], "index.html");
             const previewDir = path_1.default.join(this.storageDir, "previews");
             (0, storageService_1.ensureDir)(previewDir);
             const previewPath = path_1.default.join(previewDir, `${buildId}.html`);
-            fs_1.default.copyFileSync(defaultDist, previewPath);
-            console.log(`[build] Preview file: ${previewPath}`);
+            fs_1.default.copyFileSync(previewSrc, previewPath);
+            console.log(`[build] Preview file: ${previewPath} (from ${platforms[0]})`);
             // 7. 打包 ZIP
             await this.createZip(buildOutputDir, results);
             // 6. 更新数据库
@@ -104,10 +102,9 @@ class BuildService {
             (0, configGenerator_1.cleanupBuildArtifacts)();
         }
     }
-    runViteBuild(platform, modeFlag) {
+    runViteBuild(platform) {
         return new Promise((resolve, reject) => {
-            const mode = modeFlag ?? `--mode ${platform}`;
-            const cmd = `cd ${TEMPLATE_DIR} && AD_CONFIG_PATH=src/filler/_ad_config_.ts npx vite build ${mode}`.trim();
+            const cmd = `cd ${TEMPLATE_DIR} && AD_CONFIG_PATH=src/filler/_ad_config_.ts npx vite build --mode ${platform}`;
             console.log(`[build] Executing: ${cmd}`);
             (0, child_process_1.exec)(cmd, { timeout: BUILD_TIMEOUT_MS }, (error, stdout, stderr) => {
                 if (stdout)

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
platform/server/dist/services/buildService.js.map


+ 6 - 9
platform/server/src/services/buildService.ts

@@ -86,15 +86,13 @@ export class BuildService {
         await this.collectOutput(buildOutputDir, platform, results);
       }
 
-      // 5. 构建默认产物(无 --mode,用于真机扫码测试)
-      console.log(`[build] Building default for preview...`);
-      await this.runViteBuild("default", "");
-      const defaultDist = path.join(TEMPLATE_DIR, "dist", "index.html");
+      // 5. 复制预览产物(用第一个平台的输出即可,供真机扫码测试)
+      const previewSrc = path.join(TEMPLATE_DIR, "dist", platforms[0], "index.html");
       const previewDir = path.join(this.storageDir, "previews");
       ensureDir(previewDir);
       const previewPath = path.join(previewDir, `${buildId}.html`);
-      fs.copyFileSync(defaultDist, previewPath);
-      console.log(`[build] Preview file: ${previewPath}`);
+      fs.copyFileSync(previewSrc, previewPath);
+      console.log(`[build] Preview file: ${previewPath} (from ${platforms[0]})`);
 
       // 7. 打包 ZIP
       await this.createZip(buildOutputDir, results);
@@ -131,10 +129,9 @@ export class BuildService {
     }
   }
 
-  private runViteBuild(platform: string, modeFlag?: string): Promise<void> {
+  private runViteBuild(platform: string): Promise<void> {
     return new Promise((resolve, reject) => {
-      const mode = modeFlag ?? `--mode ${platform}`;
-      const cmd = `cd ${TEMPLATE_DIR} && AD_CONFIG_PATH=src/filler/_ad_config_.ts npx vite build ${mode}`.trim();
+      const cmd = `cd ${TEMPLATE_DIR} && AD_CONFIG_PATH=src/filler/_ad_config_.ts npx vite build --mode ${platform}`;
       console.log(`[build] Executing: ${cmd}`);
 
       exec(cmd, { timeout: BUILD_TIMEOUT_MS }, (error, stdout, stderr) => {

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác