zane 1 week ago
parent
commit
fd69da96c6

+ 22 - 0
assets/start/Start.ts

@@ -17,6 +17,14 @@ import { SceneDef } from "../scripts/SceneDef";
 
 import { PREVIEW } from "cc/env";
 
+// 扩展Window接口以支持预览调试
+declare global {
+  interface Window {
+    __PREVIEW_DEBUG__?: boolean;
+    __SOURCE_MAPS_ENABLED__?: boolean;
+  }
+}
+
 const tempColor = new Color();
 
 const { ccclass, property } = _decorator;
@@ -83,6 +91,20 @@ export class Start extends Component {
      */
     if (PREVIEW) {
       profiler.showStats();
+      
+      // Enable better debugging in preview mode
+      console.log("Preview mode enabled with source maps");
+      
+      // Override error handling for better stack traces
+      window.addEventListener('error', function(event) {
+        console.error('Preview Error:', event.error);
+        console.error('Stack:', event.error?.stack);
+      });
+      
+      // Enable source map debugging
+      if (window.__PREVIEW_DEBUG__) {
+        console.log("Preview debug mode active");
+      }
     }
     tgx.ModuleContext.setDefaultModule(_defaultModule);
 

+ 29 - 0
preview-template/index.ejs

@@ -18,6 +18,35 @@
 
     <link rel="stylesheet" type="text/css" href="./index.css" />
     <script src="./lib/ads5.js"></script>
+
+    <!-- Source Map Support for Preview -->
+    <script>
+      // Enable source maps in preview mode
+      window.__PREVIEW_DEBUG__ = true;
+      window.__SOURCE_MAPS_ENABLED__ = true;
+
+      // Override console methods to show better stack traces
+      if (window.__PREVIEW_DEBUG__) {
+        const originalError = console.error;
+        const originalWarn = console.warn;
+        const originalLog = console.log;
+
+        console.error = function (...args) {
+          const stack = new Error().stack;
+          originalError.apply(console, [...args, "\nStack:", stack]);
+        };
+
+        console.warn = function (...args) {
+          const stack = new Error().stack;
+          originalWarn.apply(console, [...args, "\nStack:", stack]);
+        };
+
+        console.log = function (...args) {
+          const stack = new Error().stack;
+          originalLog.apply(console, [...args, "\nStack:", stack]);
+        };
+      }
+    </script>
   </head>
   <body style="overflow: hidden">
     <%- include(cocosToolBar, {config: config}) %>

+ 6 - 3
settings/v2/packages/builder.json

@@ -74,7 +74,8 @@
           "web": {
             "preferredOptions": {
               "compressionType": "merge_dep",
-              "isRemote": false
+              "isRemote": false,
+              "sourceMaps": true
             }
           }
         }
@@ -91,10 +92,12 @@
           "web": {
             "preferredOptions": {
               "isRemote": false,
-              "compressionType": "merge_dep"
+              "compressionType": "merge_dep",
+              "sourceMaps": true
             },
             "fallbackOptions": {
-              "compressionType": "merge_dep"
+              "compressionType": "merge_dep",
+              "sourceMaps": true
             }
           },
           "miniGame": {

+ 2 - 1
settings/v2/packages/device.json

@@ -1,3 +1,4 @@
 {
-  "__version__": "1.0.1"
+  "debug": true,
+  "sourceMaps": true
 }

+ 16 - 0
settings/v2/packages/preview.json

@@ -0,0 +1,16 @@
+{
+  "__version__": "1.0.0",
+  "debug": true,
+  "sourceMaps": true,
+  "inlineSourceMap": true,
+  "inlineSources": true,
+  "preserveSymlinks": true,
+  "showStats": true,
+  "enableSourceMap": true,
+  "preview": {
+    "debug": true,
+    "sourceMaps": true,
+    "inlineSourceMap": true,
+    "inlineSources": true
+  }
+}

+ 7 - 1
settings/v2/packages/program.json

@@ -1,3 +1,9 @@
 {
-  "__version__": "1.0.4"
+  "__version__": "1.0.1",
+  "debug": true,
+  "sourceMaps": true,
+  "preview": {
+    "debug": true,
+    "sourceMaps": true
+  }
 }

+ 12 - 0
settings/v2/packages/project.json

@@ -43,5 +43,17 @@
   },
   "script": {
     "preserveSymlinks": true
+  },
+  "debug": {
+    "sourceMaps": true,
+    "inlineSourceMap": true
+  },
+  "preview": {
+    "debug": true,
+    "sourceMaps": true,
+    "inlineSourceMap": true,
+    "inlineSources": true,
+    "showStats": true,
+    "enableSourceMap": true
   }
 }

+ 4 - 3
tsconfig.json

@@ -5,8 +5,9 @@
   /* Add your custom configuration here. */
   "compilerOptions": {
     "strict": false,
-    "sourceMap": true,
-    "inlineSourceMap": false,
-    "inlineSources": true
+    "inlineSourceMap": true,
+    "inlineSources": true,
+    "declaration": false,
+    "removeComments": false
   }
 }